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>
  );
}
相关推荐
掘金安东尼3 小时前
让 JavaScript 更容易「善后」的新能力
前端·javascript·面试
掘金安东尼3 小时前
用 HTMX 为 React Data Grid 加速实时更新
前端·javascript·面试
灵感__idea5 小时前
Hello 算法:众里寻她千“百度”
前端·javascript·算法
yinuo6 小时前
轻松接入大语言模型API -04
前端
袋鼠云数栈UED团队6 小时前
基于 Lexical 实现变量输入编辑器
前端·javascript·架构
cipher7 小时前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
UrbanJazzerati7 小时前
非常友好的Vue 3 生命周期详解
前端·面试
AAA阿giao7 小时前
从零构建一个现代登录页:深入解析 Tailwind CSS + Vite + Lucide React 的完整技术栈
前端·css·react.js
兆子龙8 小时前
像 React Hook 一样「自动触发」:用 Git Hook 拦住忘删的测试代码与其它翻车现场
前端·架构
兆子龙8 小时前
用 Auto.js 实现挂机脚本:从找图点击到循环自动化
前端·架构