ウェブサイト検索

reactjs - TypeError: 定義されていないプロパティ 'forEach' を読み取ることができません jest


私は、reactでのコンパイルでは問題なく動作しているのに、jestを使ってテストスイートを実行するとこのエラーに遭遇しています。以下にエラーとコードのスクリーンショットをご覧ください。

回答 #1

データが存在するかどうかを確認し、tags プロパティに forEach メソッドが存在するかを確認するために条件付きチェーンを使用して、エラーを避けることができます。しかし、正しいデータを渡していることを確認してください。

const tags:any = [];

data.tags?.forEach?.((tag: Tag) => {
 tags.push({ label: tag.label, value: tag.value})
}

回答 #2

あなたは !== null をテストしていますが、あなたの data には tags というプロパティがありません(そして react/typescript はこれを知りません)。ですので、あなたの data.tags は undefined と評価されます。

if(data.tags !== null && data.tags !== undefined) {

または

if(data.tags) {

うまくいくだろう。

関連記事