array.mapを使用してネストした配列をループします。 indicatorCategoriesは、名前とID、およびインジケータというネストされた配列を含む最初の配列です。array.map内の複数の要素を返す/ドロップダウンメニュー内のサブカテゴリ
私はこれらのインジケータを反応ブートストラップのドロップダウンにマッピングしていますが、カテゴリの名前もマッピングする必要があります。
現在、これは私のコードです。
{indicatorCategories.map(indicatorCategory => {
return (
(
<option
disabled
key={indicatorCategory.id}
value={indicatorCategory.id}
>
{"---" + indicatorCategory.name + "---"}
</option>
),
indicatorCategory.indicators.map(indicator => {
return (
<option key={indicator.id} value={indicator.id}>
{indicator.name}
</option>
);
})
);
})}
その結果、私はインジケータのみをマッピングしているのでインジケータカテゴリは表示されません。 array.mapは要素を戻してネストされた配列にマップすることではないと思いますか?あるいは、私は愚かな構文エラーを作りますか?それはしばらくの間レスリングされているが、葉巻はありません。
可能でない場合、ここではどのような選択肢がありますか?非常にモバイルフレンドリーではないので、そのカテゴリからの指標を表示するために、カテゴリの上にいくつかのホバーを使用しないことを好みます。
ありがとうございました。
あなたが探しているのはflatMapメソッドです(これはjsではネイティブではありません)。ここで何が起こっているのかを見てみましょう: JS flatMapの例:https://gist.github.com/samgiles/762ee337dff48623e729 mapとflatMapの違い: http://www.baeldung.com/java-difference-map-and-flatmap – Polux66
簡略化して、 '(a、[b、c、d]) 'のようなものを返しています。 '[b、c、d]'だけに評価されます。代わりに '[a、[b、c、d]]'を試してください。つまり、 'return(...)'を 'return [...]'に置き換えます。 – xs0
ここで何が問題であるかはあまり明確ではありません。あなたのコードは正確に何をすべきかを生成します。 最終目標を明確にすることはできますか? selcectボックスのリスト? industryCategoryを選択するボックスです。インダストリカテゴリを選択すると、インジケータがオプションとして表示されますか? – asosnovsky