react中使用Fragments

在官方文档中,原文是,“React 中的一个常见模式是一个组件返回多个元素。Fragments 允许你将子列表分组,而无需向 DOM 添加额外节点。”,意思就是你在写组件的时候,外面再套一个Fragments。类似于vue中的template

为什么要使用Fragments,举个例子,比如我们要做个表格组件,父组件的代码是这样

class Table extends React.Component {
  render() {
    return (
      <table>
        <tr>
          <Columns />
        </tr>
      </table>
    );
  }
}

如果子组件
Columns的代码是这样的话,在 <Columns /> 的 render() 中使用了父 div,则生成的 HTML 将无效

class Columns extends React.Component {
  render() {
    return (
      <div>
        <td>Hello</td>
        <td>World</td>
      </div>
    );
  }
}

Fragments解决了这个问题,Columns组件中加入Fragments后,生成的html就正常了

class Columns extends React.Component {
  render() {
    return (
      <React.Fragment>
        <td>Hello</td>
        <td>World</td>
      </React.Fragment>
    );
  }
}
    原文作者:ddee
    原文地址: https://segmentfault.com/a/1190000020247948
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞