REACT 条件渲染

您的组件通常需要根据不同的条件显示不同的内容。在 React 中,你可以使用 JavaScript 语法(如语句、 和运算符)有条件地呈现 JSX。if&&? :

有条件地返回 JSX

假设您有一个渲染多个 s 的组件,可以将其标记为打包或未打包:PackingListItem

function Item({ name, isPacked }) {
  return <li className="item">{name}</li>;
}

export default function PackingList() {
  return (
    <section>
      <h1>Sally Ride's Packing List</h1>
      <ul>
        <Item 
          isPacked={true} 
          name="Space suit" 
        />
        <Item 
          isPacked={true} 
          name="Helmet with a golden leaf" 
        />
        <Item 
          isPacked={false} 
          name="Photo of Tam" 
        />
      </ul>
    </section>
  );
}

如果 prop 是 ,则此代码返回不同的 JSX 树。通过此更改,某些项目在末尾会打勾:isPackedtrue

function Item({ name, isPacked }) {
  if (isPacked) {
    return <li className="item">{name} ✔</li>;
  }
  return <li className="item">{name}</li>;
}

export default function PackingList() {
  return (
    <section>
      <h1>Sally Ride's Packing List</h1>
      <ul>
        <Item 
          isPacked={true} 
          name="Space suit" 
        />
        <Item 
          isPacked={true} 
          name="Helmet with a golden leaf" 
        />
        <Item 
          isPacked={false} 
          name="Photo of Tam" 
        />
      </ul>
    </section>
  );
}

有条件地不返回任何内容null 

在某些情况下,您根本不想渲染任何内容。例如,假设您根本不想显示包装好的商品。组件必须返回某些内容。在这种情况下,您可以返回:null

if (isPacked) {
  return null;
}
return <li className="item">{name}</li>;

如果为 true,则组件将不返回任何内容。否则,它将返回 JSX 进行渲染。isPackednull

function Item({ name, isPacked }) {
  if (isPacked) {
    return null;
  }
  return <li className="item">{name}</li>;
}

export default function PackingList() {
  return (
    <section>
      <h1>Sally Ride's Packing List</h1>
      <ul>
        <Item 
          isPacked={true} 
          name="Space suit" 
        />
        <Item 
          isPacked={true} 
          name="Helmet with a golden leaf" 
        />
        <Item 
          isPacked={false} 
          name="Photo of Tam" 
        />
      </ul>
    </section>
  );
}

相关推荐

  1. REACT 条件渲染

    2024-05-13 10:42:08       17 阅读
  2. 前端学习之——react篇(条件渲染

    2024-05-13 10:42:08       47 阅读
  3. 解锁React条件渲染的全面指南

    2024-05-13 10:42:08       40 阅读
  4. vue3-条件渲染

    2024-05-13 10:42:08       25 阅读
  5. vue 条件渲染

    2024-05-13 10:42:08       19 阅读
  6. vue--条件渲染

    2024-05-13 10:42:08       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-13 10:42:08       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-13 10:42:08       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-13 10:42:08       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-13 10:42:08       20 阅读

热门阅读

  1. 深入探索Python协程:从基础到实践的学习笔记-01

    2024-05-13 10:42:08       11 阅读
  2. pytest并发执行用例方案

    2024-05-13 10:42:08       14 阅读
  3. 从零开始精通RTSP之多播传输

    2024-05-13 10:42:08       14 阅读
  4. 使用Python构建一个简单的图书管理系统

    2024-05-13 10:42:08       11 阅读
  5. Python 中字符串列表的排序

    2024-05-13 10:42:08       10 阅读
  6. 程序员之虚拟形象课程录制

    2024-05-13 10:42:08       11 阅读
  7. 计算机网络的形成与发展

    2024-05-13 10:42:08       8 阅读
  8. Vue3实战笔记(16)—pinia基本用法--Getter

    2024-05-13 10:42:08       12 阅读
  9. 介绍 TensorFlow 的基本概念和使用场景。

    2024-05-13 10:42:08       12 阅读