React 之 内置标签<Fragment> (<>...</>) (十一)

通常使用 <>...</> 代替,它们都允许你在不添加额外节点的情况下将子元素组合。相当于vue的内置标签<template/>

1. 返回多个元素

javascript 复制代码
<>
  <OneChild />
  <AnotherChild />
</>

2. 分配多个元素给一个变量

和其他元素一样,你可以将 Fragment 元素分配给变量,作为 props 传递。

javascript 复制代码
function CloseDialog() {
  const buttons = (
    <>
      <OKButton />
      <CancelButton />
    </>
  );
  return (
    <AlertDialog buttons={buttons}>
      Are you sure you want to leave this page?
    </AlertDialog>
  );
}

3. 组合文本与组件

可以使用 Fragment 将文本与组件组合在一起。

javascript 复制代码
function DateRangePicker({ start, end }) {
  return (
    <>
      From
      <DatePicker date={start} />
      to
      <DatePicker date={end} />
    </>
  );
}

4. 渲染 Fragment 列表

需要为每一个元素分配一个 key时,需要显式地表示为 Fragment,而不是使用简写语法 <></>

javascript 复制代码
function Blog() {
  return posts.map(post =>
    <Fragment key={post.id}>
      <PostTitle title={post.title} />
      <PostBody body={post.body} />
    </Fragment>
  );
}
相关推荐
Knight_AL5 小时前
Vue 项目部署在子目录下:hash vs history 的真实区别
前端·vue.js·哈希算法
talenteddriver5 小时前
java: JAVA静态方法细节
java·前端·apache
IT_陈寒5 小时前
SpringBoot 3.2 性能飞跃:5个优化策略让你的应用提速40%
前端·人工智能·后端
牛马1115 小时前
Flutter Web性能优化标签解析(二)
前端·javascript·flutter
FreeBuf_5 小时前
RondoDox僵尸网络利用高危React2Shell漏洞劫持IoT设备与Web服务器
前端·网络·物联网
阿蔹5 小时前
UI测试自动化-Web-Python-Appium
前端·python·ui·appium·自动化
Lethehong5 小时前
TextIn 赋能!Dify+DeepSeek 高效搭建新能源汽车销量可视化工作流
大数据·前端·python·textin·蓝耘元生代·蓝耘maas
亿元程序员5 小时前
爆款拆解与实现:动态画出物理线条,手把手教你制作“画线救狗”
前端
weixin_531651815 小时前
File.stream() 与 FormData 技术详解
开发语言·前端·javascript
董世昌415 小时前
如何声明一个类?类如何继承?
java·开发语言·前端