当前位置: 首页 > 编程笔记 >

React.js中的片段

谭泳
2023-03-14
本文向大家介绍React.js中的片段,包括了React.js中的片段的使用技巧和注意事项,需要的朋友参考一下

大多数时候,我们需要从一个组件返回多个元素。React Fragment帮助返回多个元素。另一种选择是使用div之类的html元素包装它们。但是使用额外的html节点可能会导致一些语义问题。

React.Fragment的示例

render() {
   return (
      <React.Fragment>
      <ElementA />
      <ElementB />
      <ElementC />
      </React.Fragment>
   );
}
The short syntax is <>:
render() {
   return (
      <>
         <ElementA />
         <ElementB />
         <ElementC />
      </>
   );
}

如果不使用React Fragment,则了解问题-

假设我们创建一个表-

class ExampleTable extends React.Component {
   render() {
      return (
         <table>
            <tr>
               <ExampleColumns />
            <tr>
         </table>
      );
   }
}
class ExampleColumns extends React.Component {
   render() {
      return (
         <div>
            <td>col 1</td>
            <td>col 2</td>
         </div>
      );
   }
}

实际的语法将包括我们在各列的return语句中添加div 

<table>
   <tr>
      <div>
         <td>col 1 </td>
         <td>col 2</td>
      </div>
   </tr>
</table>

现在,表标记包含一个div标记,这破坏了html的语义。因此,为避免这种情况,我们可以简单地将div替换为React.Fragment或简称<>

class ExampleColumns extends React.Component {
   render() {
      return (
         <>
            <td>col 1</td>
            <td>col 2</td>
         </>
      );
   }
}

我们也可以在列表的迭代中使用该片段。

props.myMessages.map(message => (
   //如果没有`key`,React会发出按键警告
   <React.Fragment key={message.id}>
      <dt>{message.title}</dt>
      <dd>{message.text}</dd>
   </React.Fragment>
))
 类似资料:
  • 问题内容: 随着版本0.12的发布,组件内部不再可用,但是听起来您可以简单地用替换它,并且一切都将按预期工作。 从React v0.12docs: 这意味着您需要重命名:someElement.props.key-> someElement.key 但是,当我尝试在组件的render()函数中访问时,出现了。 请参阅我的笔来说明问题:http : //codepen.io/anon/pen/jac

  • 问题内容: 我是React.js库的新手,我正在浏览一些教程,发现了: 给出的说明不是很清楚(IMO)。 同样, 我先尝试 然后 再进行console.logging它们,发现现在同时具有和。 然后,我 依次尝试 ,然后进行console.logging它们,发现它们又具有和。 那么,两者之间到底有什么区别? 问题答案: 与当前和以前的状态合并。使用,它将抛出当前状态,并仅用您提供的状态替换它。通

  • 问题内容: 我需要通过单击Bootstrap导航栏和其他位置的按钮来打开Bootstrap Modal( 以显示组件实例的数据,即提供“编辑”功能 ),但是我不知道如何实现此目的。这是我的代码: 编辑:代码已更新。 感谢其他注释和对代码的改进。 问题答案: 您可以使用React-Bootstrap(https://react- bootstrap.github.io/components/moda

  • 本文向大家介绍React.js中的上下文API,包括了React.js中的上下文API的使用技巧和注意事项,需要的朋友参考一下 React上下文api在版本16.3或最新版本中可以安全地用于生产中。添加上下文api的原因是,如果有一系列子组件,则避免传递prop。 在不使用上下文api的情况下,我们必须将道具传递给所有中间组件。另一种替代解决方案是使用第三方库(例如Redux)来维护中央存储。 了

  • 本文向大家介绍React.js中的高阶组件,包括了React.js中的高阶组件的使用技巧和注意事项,需要的朋友参考一下 高阶部分简称为hoc。这是一种接收组件并返回具有附加功能的新组件的模式。 // hoc是自定义JavaScript函数的名称 我们使用带有状态和/或道具的组件来构建UI。hoc用类似的方法从提供的组件中构建一个新组件。 使用hoc在React中成为一个横切关注点。这些组件将负责单

  • 我试图理解React.js,经常会遇到一个术语“脏的”,比如脏的检查/检查、脏的数据、脏的模型 我问了这个问题,但弄不清“脏”这个词到底是什么意思