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

【React】条件渲染——逻辑与运算符

条件渲染——逻辑与&&运算符

你会遇到的另一个常见的快捷表达式是 JavaScript 逻辑与(&&)运算符。在 React 组件里,通常用在当条件成立时,你想渲染一些 JSX,或者不做任何渲染。

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

export default function PackingList() {
  return (
    <section>
      <h1>Sally Ride 的行李清单</h1>
      <ul>
        <Item 
          isPacked={true} 
          name="宇航服" 
        />
        <Item 
          isPacked={true} 
          name="带金箔的头盔" 
        />
        <Item 
          isPacked={false} 
          name="Tam 的照片" 
        />
      </ul>
    </section>
  );
}

运行结果
在这里插入图片描述

当 JavaScript && 表达式 的左侧(我们的条件)为 true 时,它则返回其右侧的值(在我们的例子里是勾选符号)。但条件的结果是 false,则整个表达式会变成 false。在 JSX 里,React 会将 false 视为一个“空值”,就像 null 或者 undefined,这样 React 就不会在这里进行任何渲染。

⚠️注意:

切勿将数字放在 && 左侧.
JavaScript 会自动将左侧的值转换成布尔类型以判断条件成立与否。然而,如果左侧是 0,整个表达式将变成左侧的值(0),React 此时则会渲染 0 而不是不进行渲染。

例如,一个常见的错误是 messageCount && <p>New messages</p>。其原本是想当 messageCount 为 0 的时候不进行渲染,但实际上却渲染了 0。

为了更正,可以将左侧的值改成布尔类型:messageCount > 0 && <p>New messages</p>


http://www.kler.cn/a/390298.html

相关文章:

  • Hadoop3.x 万字解析,从入门到剖析源码
  • 144.《在 macOS 上安装 Redis》
  • golang运维开发-gopsutil(2)
  • 泛目录和泛站有什么差别
  • Cookie和Session
  • 【算法】将单链表按值划分
  • 在心理学研究中实施移动眼动追踪:实用指南
  • C# 操作Rabbitmq
  • MIT 6.S081 Lab1: Xv6 and Unix utilities翻译
  • Nginx中实现流量控制(限制给定时间内HTTP请求的数量)示例
  • ChatGLM2-6B微调记录【2】
  • React Native 全栈开发实战班 - 核心组件与导航
  • 【系统架构设计师-2024下半年真题】综合知识-参考答案及部分详解(完整回忆版)
  • C++ 二叉搜索树
  • 设计模式(Unity)——更新中
  • FPGA实现以太网(二)、初始化和配置PHY芯片
  • 攻防世界36-fakebook-CTFWeb
  • 苍穹外卖 数据可视化
  • 标准化 Git 提交信息的约定
  • 17RAL_Visual-Inertial Monocular SLAM with Map Reuse
  • 基础算法练习--滑动窗口(已完结)
  • 分布式环境下宕机的处理方案有哪些?
  • 简单易用的 Node.js Git库
  • Oracle XE命令行创建数据库的一波三折(已解决)
  • 深度学习在推荐系统中的应用
  • Taro React-Native IOS 打包发布