[英]React spread operation of JSX elements inside map
我正在為 Picker 映射數組內的數組,並且正在努力弄清楚如何返回 JSX 元素而不是 JSX 元素數組。
代碼示例:
{modelA.map((mA) => {
const pickerItems = mA.modelB.map((mA) =>
<Picker.Item value={mA} ... />,
);
return pickerItems;
})}
通常我的方法是使用擴展運算符。 但它們在這種語法中表現不佳。
這個:
{...modelA.map((mA) => {
const pickerItems = mA.modelB.map((mA) =>
<Picker.Item value={mA} ... />,
);
return pickerItems;
})}
是非法的:React 不支持傳播子級。
我對此的骯臟看法是配置它預渲染。 但我寧願不要。
有什么建議?
你可以只使用reduce:
{modelA.reduce((arr,mA) => {
mA.modelB.forEach((mA) => {
arr.push(<Picker.Item value={mA} ... />)
});
return arr;
}), []}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.