React Fragment的作用和用法是什�
Admin 2022-07-06 群英技术资�
在向 DOM 树批量添加元素时,一个好的实践是创建一个document.createDocumentFragment,先将元素批量添加到
DocumentFragment 上,再把 DocumentFragment 添加� DOM 树,减少� DOM操作次数的同时也不会创建一个新元素�
� DocumentFragment 类似,React 也存� Fragment 的概念,用途很类似。在 React 16之前,Fragment 的创建是通过扩展� react-addons-create-fragment 创建,� React 16 中则通过<React.Fragment></React.Fragment> 直接创建 ‘Fragment'�
一种常见模式是组件返回一个子元素列表。以� React 代码片段为例�
class Table extends React.Component { render() { return ( <table> <tr> <Columns /> </tr> </table> ); } }
< Columns /> 需要返回多� 元素以使渲染� HTML 有效。如果在 < Columns /> � render() 中使用了� div,则生成� HTML 将无效�
class Columns extends React.Component { render() { return ( <div> <td>Hello</td> <td>World</td> </div> ); } }
得到一� < Table /> 输出�
<table> <tr> <div> <td>Hello</td> <td>World</td> </div> </tr> </table>
Fragments 由此出现解决了这个问题�
React.Fragment 组件能够在不额外创建 DOM 元素的情况下,让 render() 方法中返回多个元素。一个常见模式是一个组件返回多个元素。Fragments 允许你将子列表分组,而无需� DOM 添加额外节点�
理解起来就是在我们定义组件的时候return里最外层包裹的div往往不想渲染到页面,那么就要用到我们的Fragment组件了。就和vue�<template ></ template >.
render() { return ( <React.Fragment> Some text. <h2>A heading</h2> </React.Fragment> ); }
你也可以使用其简写语� <></>�
render() { return ( <> Some text. <h2>A heading</h2> </> ); }
另外react 16开始, render支持返回数组,知道这个特性的人不在少数。这一特性已经可以减少不必要节点嵌套�
import React from 'react'; export default function () { return [ <div>1</div>, <div>2</div>, <div>3</div> ]; }
<></> 语法不能接受键值或属性,<React.Fragment>可以�
使用显式 <React.Fragment> 语法声明的片段可能具� key。一个使用场景是将一个集合映射到一� Fragments 数组 - 举个例子,创建一个描述列表:
function Glossary(props) { return ( <dl> {props.items.map(item => ( // 没有`key`,React 会发出一个关键警� <React.Fragment key={item.id}> <dt>{item.term}</dt> <dd>{item.description}</dd> </React.Fragment> ))} </dl> ); }
key 是唯一可以传递给 Fragment 的属性。未来可能会添加对其他属性的支持,例如事件�
注意:简写形�<></>,但目前有些前端工具支持的还不太好,� create-react-app 创建的项目可能就不能通过编译。所以遇到这种情况很正常�
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容�
猜你喜欢
path模块的方法有哪些,怎么使用?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
这篇文章主要介绍了如何理解JavaScript中的立即执行函数,帮助大家更好的学习JavaScript,感兴趣的朋友可以了解下
这篇文章主要为大家详细介绍了Vue实现简单的发表评论功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一�
这篇文章主要介绍了javascript的基础交互详解,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要介绍vue数据双向绑定原理以及如何实现一个简易版的数据双向绑定,下面内容会比较详细的分析每一步的问题以及代码,所以对于vue源码初学者有一定的学习参考价值。对vue源码学习感兴趣的朋友继续往下看吧�
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所�
增值电信经营许可证 : B1.B2-20140078