繁体   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