简体   繁体   English

是否可以在React 16中渲染组件数组?

[英]Is it OK to Render an array of components in React 16?

I was informed by a fellow developer that is is considered bad practice to render an array of components in React 16? 一位开发人员告知我,在React 16中渲染一系列组件被认为是不好的做法?

Is this so? 是这样吗

Btw, React 16.2 has arrived with Fragments! 顺便说一句,React 16.2附带了片段! (don't forget to update both react and react-dom) (不要忘记同时更新react和react-dom)

return (
 <>
  <El1 />
  <El2 />
  <El3 />
 </>
);

The new thing about arrays in react 16 is that you don't have to wrap them with containing element (on render). React 16中关于数组的新事物是,您不必使用包含元素(在渲染中)包装它们。

In react 15 you had to: 在第15个反应中,您必须:

let data = [
    <li key="1">One</li>,
    <li key="2">Two</li>,
    <li key="3">Three</li>
];
return (<div>{data}</div>);

While in react 16 you can just: 在反应16中,您可以:

let data = [
    { value: "One", key: "1" },
    { value: "Two", key: "2" },
    { value: "Three", key: "3" }
];
return data.map(item => {
    return (
        <li key={item.key}>
            {item.value}
        </li>
    );
});

Or even simpler: 甚至更简单:

render() {
    return [
        <li key="A">First item</li>,
        <li key="B">Second item</li>,
        <li key="C">Third item</li>,
    ];
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM