React条件渲染的几种方式

react中条件渲染三种方式:

  1. 使用js运算符if或者条件运算符来表现当前状态,然后让React根据他们来更新UI
if (isLoggedIn) {
    return <UserGreeting />;
  }
  return <GuestGreeting />;

​ 根据传入值渲染时:

const isLoggedIn = this.state.isLoggedIn;
    let button;
    if (isLoggedIn) {
      button = <LogoutButton onClick={this.handleLogoutClick} />;
    } else {
      button = <LoginButton onClick={this.handleLoginClick} />;
    }
  1. 可以在运算符中嵌入逻辑与(&&)运算符

    ​ 因为在js中 true && expression 总是返回expression。而false && expression 总是返回false(react会忽略)。

    ⚠️:返回false的表达式会使&&后面的元素被跳过,但会返回false表达式。

    // 当没有阅读的消息条数大于0时,渲染h2标签
    {unreadMessages.length > 0 &&
            <h2>
              You have {unreadMessages.length} unread messages.
            </h2>
          }
    
  2. 三目运算符

    可以使用js中的三目运算符: condition ? true : false

return (
    <div>
      The user is <b>{isLoggedIn ? 'currently' : 'not'}</b> logged in.
    </div>
  );

阻止渲染:

​ 在我们需要隐藏组件时,可以让render方法直接返回null,不进行任何渲染。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值