簡體   English   中英

在地圖內反應 JSX 元素的傳播操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM