当前位置: 首页 > wzjs >正文

腾讯云图床wordpress免费网站seo

腾讯云图床wordpress,免费网站seo,wordpress satellite7,网站建设需要些什么资料在 React 渲染组件时&#xff0c;每个组件只能返回一个根节点&#xff08;root element&#xff09;。传统上&#xff0c;如果我们需要渲染多条并列的元素&#xff0c;通常会使用一个多余的 <div> 或者其他容器标签将它们包裹起来。但是&#xff0c;这样会在最终的 HTML …

在 React 渲染组件时,每个组件只能返回一个根节点(root element)。传统上,如果我们需要渲染多条并列的元素,通常会使用一个多余的 <div> 或者其他容器标签将它们包裹起来。但是,这样会在最终的 HTML 中多生成一个无意义的节点,可能会影响样式、布局,甚至带来不必要的性能开销。

为了消除这种“无意义的包裹元素”,React 引入了 <Fragment> 组件。它 在渲染时不会生成额外的 DOM 节点,仅仅是一个“虚拟”容器,帮助我们在 JSX 中满足“只能返回一个根节点”的规则。它的本质只是 React 的一个内置组件,本身并不在 DOM 中出现。

Fragment 的用法

最直接的写法是直接从 React 库中导入 Fragment,然后在 JSX 中如下使用:

import React, { Fragment } from 'react';function MyComponent() {return (<Fragment><h1>标题</h1><p>文字描述</p></Fragment>);
}

上面代码,组件返回了一个 <Fragment>,内部包含多个并列元素;渲染到网页时并不会多出一个父级标签,而是直接渲染 <h1><p><ul> 三个元素。

如果你不想写 import { Fragment } from 'react',也可以直接使用全称:

import React from 'react';function MyComponent() {return (<React.Fragment><h1>标题</h1><p>这是一段描述文字。</p></React.Fragment>);
}export default MyComponent;

两者效果是完全一样的。

简写方式

从 React 16.2 开始,官方支持了 <Fragment> 的简写语法——空标签 <>...</>,使用起来更简洁:

function MyComponent() {return (<><h1>标题</h1><p>这是一段描述文字。</p><ul><li>列表项 1</li><li>列表项 2</li></ul></>);
}

两者(<Fragment>...</Fragment><>...</>)在渲染结果上没有区别。它们都不会在 DOM 中生成额外的节点。

注意: 空标签的简写语法 不能 使用 key 或其他属性,比如 <> 无法写成 < key="..." >。如果需要给 Fragment 本身指定 key,就必须使用完整写法 <Fragment key={...}>...</Fragment>

比如这种情况

import React from 'react';function TodoList({ todos }) {return (<ul>{todos.map((todo) => (<Fragment key={todo.id}><li>{todo.text}</li><li>状态:{todo.completed ? '已完成' : '未完成'}</li></Fragment>))}</ul>);
}

如果使用简写空标签 <>...</> 则无法指定 key,会导致警告或无法正常做列表 Diff。因此在需要绑定 key 的场景下一定要使用 <Fragment key={...}>...</Fragment>

常见使用场景

组件返回多个并列节点

如果父级容器已足够,只想返回多条标签而不加冗余容器:

function ArticleSummary({ title, excerpt }) {return (<><h2>{title}</h2><p>{excerpt}</p></>);
}

表格中渲染多行

<table> 要求直接返回 <tr>,不能多包一层 <div><Fragment> 可把两行或多行当作一组处理:

import React, { Fragment } from 'react';function DataTable({ list }) {return (<table><tbody>{list.map(item => (<Fragment key={item.id}><tr><td>{item.name}</td><td>{item.value}</td></tr><tr><td colSpan="2">详情:{item.detail}</td></tr></Fragment>))}</tbody></table>);
}

条件渲染多节点

当一个条件下需要返回多条并列节点,用 Fragment 代替冗余父元素,更清爽:

function UserStatus({ user }) {return (<><h3>{user.name}</h3>{user.online ? <p>在线</p> : <p>离线</p>}</>);
}

与其他方式对比

多包一个 <div>

虽然能满足语法,但会产生额外节点,可能破坏 CSS 布局(如 Flex、Grid)或增深 DOM 层级。

返回数组

可以直接写数组返回多个元素,但每个元素都要写 key,可读性差:

function Example() {return [<h1 key="title">标题</h1>,<p key="content">内容</p>,];
}

相比之下,Fragment 更简洁可读,且不用给内部每个元素都写 key(只需给 Fragment 本身写一次)。


以上就是本文的全部内容了,如果本文对你有帮助的话请转发给你的工友~

想了解 React 的更多玩法,欢迎关注《React 中文教程》


文章转载自:

http://utCWcHD7.fqcdh.cn
http://HNe3EFJx.fqcdh.cn
http://9eNwo1HE.fqcdh.cn
http://swlfi0Tp.fqcdh.cn
http://jDIOiC5P.fqcdh.cn
http://cmp5f7sJ.fqcdh.cn
http://y0gz4zJp.fqcdh.cn
http://TBcK9Uxm.fqcdh.cn
http://IILEgFsn.fqcdh.cn
http://ypGKuFhe.fqcdh.cn
http://RgABIoAO.fqcdh.cn
http://ALLKZ2IC.fqcdh.cn
http://Kt2Ci7tJ.fqcdh.cn
http://zs5l6o5Z.fqcdh.cn
http://8WzfuCNC.fqcdh.cn
http://ckw22PYf.fqcdh.cn
http://OV7Brtqx.fqcdh.cn
http://TY8Cmuns.fqcdh.cn
http://fQSpOmUs.fqcdh.cn
http://FdSHUene.fqcdh.cn
http://VAZ1Gr6q.fqcdh.cn
http://8RK4TZyA.fqcdh.cn
http://ienGEfTX.fqcdh.cn
http://niZuOfj6.fqcdh.cn
http://imG1Afac.fqcdh.cn
http://o3VBi6QC.fqcdh.cn
http://e5gu2QEI.fqcdh.cn
http://uin1kGjm.fqcdh.cn
http://JwNbN3wY.fqcdh.cn
http://Ic5tWw9Y.fqcdh.cn
http://www.dtcms.com/wzjs/678124.html

相关文章:

  • 怎么看网站用什么平台做的深圳网站建设制作网络公司
  • 一个购物交易网站怎么做婺源做网站有吗
  • 2017年用什么语言做网站案例查询网站
  • 全国网站打开速度象山专业网站建设
  • wordpress网站如何播放视频jsp网站开发之html入门知识
  • 个人网站 怎么备案整站网站优化价格
  • 动漫做3d游戏下载网站网络服务器无响应改进措施或应对策略
  • 网站建设方案怎样写作品展示网站 源码
  • 手机英语学习网站触屏版手机wap用户登陆注册网站模板115dw做的网站 图片的路径
  • 游戏网站建设与策划方案太原便宜做网站的公司哪家好
  • 泉州网站模板建站犀牛云网站怎么建设
  • html5手机网站制作软件旅社网站怎么建立
  • 昆明网站建设推广莱芜房产网官网
  • 公司支付的网站建设如何入账专业网站定制 北京
  • 知名网站有哪些?网站优化锚文本链接之精髓
  • 做网站的公司怎么拓展业务衡阳网站排名
  • 中山网站建设公司影视文化传媒公司网站建设
  • 青海农业网站建设公司响应式网站文章
  • 大连网站建设新图闻精品课程网站建设方案
  • 网站服务器空间选择VR网站建设价格
  • 德国网站的后缀名凡科互动游戏作弊软件
  • 做简历比较好的网站网站提交搜索引擎
  • 富阳市网站wordpress 七牛
  • 电子商务的网站建设名词解释百度免费做网站
  • 大数据与网站开发技术WordPress头部去掉sworg链接
  • 广州网站建设比较wordpress上方登录
  • 电子网站怎么做个人主页源码网页模板
  • 企业门户网站云服务器配置要求做传销网站的程序员犯法吗
  • 如何搜索网站网页设计尺寸一般多少像素
  • 如何在网上做自己的网站高并发网站开发语言