iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何进行React Fragment介绍与使用
  • 810
分享到

如何进行React Fragment介绍与使用

2023-06-25 14:06:20 810人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关如何进行React Fragment介绍与使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在向 DOM 树批量添加元素时,一个好的实践是创建一个document

这篇文章将为大家详细讲解有关如何进行React Fragment介绍与使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在向 DOM 树批量添加元素时,一个好的实践是创建一个document.createDocumentFragment,先将元素批量添加到
DocumentFragment 上,再把 DocumentFragment 添加到 DOM 树,减少了 DOM操作次数的同时也不会创建一个新元素。

和 DocumentFragment 类似,React 也存在 Fragment 的概念,用途很类似。在 React 16之前,Fragment 的创建是通过扩展包 react-addons-create-fragment 创建,而 React 16 中则通过<React.Fragment></React.Fragment> 直接创建 ‘Fragment'。

Fragments出现动机

一种常见模式是组件返回一个子元素列表。以此 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介绍与使用

React.Fragment 组件能够在不额外创建 DOM 元素的情况下,让 render() 方法中返回多个元素。一个常见模式是一个组件返回多个元素。Fragments 允许你将子列表分组,而无需向 DOM 添加额外节点。

理解起来就是在我们定义组件的时候return里最外层包裹的div往往不想渲染到页面,那么就要用到我们的Fragment组件了。就和Vue的<template ></ template >.

render() {  return (    <React.Fragment>      Some text.      <h3>A heading</h3>    </React.Fragment>  );}

你也可以使用其简写语法 <></>。

render() {  return (    <>      Some text.      <h3>A heading</h3>    </>  );}

另外react 16开始, render支持返回数组,知道这个特性的人不在少数。这一特性已经可以减少不必要节点嵌套。

import React from 'react';export default function () {    return [        <div>1</div>,        <div>2</div>,        <div>3</div>    ];}

<React.Fragment> 与 <>区别

<></> 语法不能接受键值或属性,<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 创建的项目可能就不能通过编译。所以遇到这种情况很正常。

关于如何进行React Fragment介绍与使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何进行React Fragment介绍与使用

本文链接: https://www.lsjlt.com/news/305324.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何进行React Fragment介绍与使用
    这篇文章将为大家详细讲解有关如何进行React Fragment介绍与使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在向 DOM 树批量添加元素时,一个好的实践是创建一个document...
    99+
    2023-06-25
  • React Fragment介绍与使用详解
    目录前言 Fragments出现动机 React Fragment介绍与使用 <React.Fragment> 与 <>区别 前言 在向 DOM 树批量添加...
    99+
    2024-04-02
  • React使用ref方法与场景介绍
    目录摘要1.ref的挂载2.使用ref的三种方式3.ref的使用场景摘要 不管在Vue中还是React,如果我们想使用一个元素的DOM,不需要通过JS中操纵DOM的方法,它们提供了一...
    99+
    2022-11-13
    React ref React ref用法
  • React中props使用介绍
    目录1.继续深入state2.props3.限制Props的传递类型4.函数接收props参数5.插槽1.继续深入state state有两种用法: setState({}) 和 s...
    99+
    2022-12-21
    React props React props使用介绍
  • 如何对Python工具进行介绍
    本篇文章为大家展示了如何对Python工具进行介绍,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。大多数开发经理几乎很少了解Python工具,在现代IT领域的高压力环境下,项目管理人员缺乏对Pytho...
    99+
    2023-06-17
  • 如何进行RK3288 dts和dtsi介绍
    这期内容当中小编将会给大家带来有关如何进行RK3288 dts和dtsi介绍,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Device Tree 是一种描述硬件的数据结构,它起源于 OpenFirmwar...
    99+
    2023-06-05
  • 如何进行C++运行机制的介绍
    这期内容当中小编将会给大家带来有关如何进行C++运行机制的介绍,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C++编程语言是一款应用广泛,功能强大的编程应用语言。它支持多重编程范式的通用程序设计语言,并且...
    99+
    2023-06-17
  • 使用Nginx和Lua进行JWT校验介绍
    目录前言Lua脚本nignx.conf配置Dockerfile配置前言 因为不涉及到数据库和其它资源的依赖,jwt本身也是无状态的。因此鉴权服务没有再基于Java或者其它语言来做。而...
    99+
    2024-04-02
  • React Immutable使用方法详细介绍
    目录1. 介绍2. 优缺点3. 对象处理4. 数组处理5. 优化组件渲染6. immutable和redux集合使用1. 介绍 假设当前 redux 的大小为 1G,现在要修改 re...
    99+
    2024-04-02
  • React中10种Hook的使用介绍
    目录React Hook是什么? React目前提供的Hook 1.useState 2.useEffect & useLayoutEffect 3.useMemo &...
    99+
    2024-04-02
  • React-Native之截图组件react-native-view-shot的介绍与使用小结
    目录一、现象二、解决三、总结:一、现象 1、需求:把某展示页面进行截取保存到相册、并可进行以海报的形式分享出去; 2、支持iOS和安卓 二、解决 1、安装: npm i --save...
    99+
    2024-04-02
  • python gflags介绍与使用
    python gflags介绍与使用 1.升级python到2.6版本以上,否则安装setuptools会失败; 2.下载setuptools并安装,地址为:http://pypi.python.org/packages/2.6/...
    99+
    2023-01-31
    python gflags
  • ResultSet的介绍与使用
    ResultSet是Java中用于表示数据库查询结果的对象,它可以对查询结果进行遍历和访问。一般来说,当使用JDBC进行数据库查询时...
    99+
    2023-09-11
    ResultSet
  • 如何使用React进行组件库开发
    小编给大家分享一下如何使用React进行组件库开发,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述我们都知道,组件化的开发模式...
    99+
    2024-04-02
  • React使用Context与router实现权限路由详细介绍
    目录前言思路实现向根组件注入权限列表抽离ContextHOC实现权限路由组件实现实现使用方法实现类似react-router-config的集中式权限路由配置实现使用方法前言 之前使...
    99+
    2023-01-28
    React权限路由 React Context权限路由 React router权限路由
  • 如何使用Vite+React进行组件开发
    本篇内容介绍了“如何使用Vite+React进行组件开发”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • React高阶组件使用详细介绍
    首先 我们要了解什么是高阶组件 第一 高阶组件必须是一个函数 第二 高阶组件接收一个参数,这个参数也必须是一个组件 第三 他的返回值 也是一个组件 至于高阶组件的作用 我们后续会讲解...
    99+
    2023-01-29
    React高阶组件 React高阶组件的使用 React高阶组件的作用
  • 如何分析工具perf的介绍与使用
    这期内容当中小编将会给大家带来有关如何分析工具perf的介绍与使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。测试环境:Ubuntu16.04 + Kernel:4.4.0-31apt-get...
    99+
    2023-06-05
  • VueMixins混入介绍与使用
    目录混入(Mixins)介绍Mixins使用1,建立js文件2,mixins.js代码3,页面局部混入全局混入混入(Mixins)介绍 混入 (mixin) 提供了一种非常灵活的方式...
    99+
    2023-02-02
    Vue Mixins混入 Vue Mixins
  • VueNextTick介绍与使用原理
    目录一、NextTick是什么定义理解为什么要有nexttick二、使用场景三、实现原理一、NextTick是什么 定义 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后...
    99+
    2022-11-13
    Vue NextTick Vue NextTick的作用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作