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>
  );
}
相关推荐
CharlieWang9 分钟前
AI + Cloudflare = 你需要的全部
前端·敏捷开发·全栈
董员外11 分钟前
从零实现 AI 编程助手:LangChain.js + ReAct 循环实战
前端·javascript·后端
bluceli13 分钟前
JavaScript BigInt:处理大数值的终极解决方案
前端·javascript
不懂代码的切图仔15 分钟前
小程序web-view嵌入h5扫码 html5-qrcode库使用方法
前端·微信
不懂代码的切图仔15 分钟前
小程序web-view嵌入h5扫码 jssdk方式
前端·微信小程序
软弹18 分钟前
Vue2、Vue3、React 状态管理全方位对比
前端·javascript·vue.js·react.js
王启年20 分钟前
npm link 详解:本地包开发与测试的利器
前端
Presto20 分钟前
HMR 是为人类设计的,不是为 Agent 设计的
前端
吃素的老虎20 分钟前
从零构建 AI 网关(三):渠道插件系统
前端
学以智用28 分钟前
# Vue3 路由(Vue Router 4)完全指南
前端·vue.js