不完全一样,但是有解决方法。在React的文档中有一节关于条件渲染,您应该看一下。这是使用内联if-else可以做什么的示例。
render() { const isLoggedIn = this.state.isLoggedIn; return ( <div> {isLoggedIn ? ( <LogoutButton onClick={this.handleLogoutClick} /> ) : ( <LoginButton onClick={this.handleLoginClick} /> )} </div> );}您也可以在render函数中处理它,但是要在返回jsx之前。
if (isLoggedIn) { button = <LogoutButton onClick={this.handleLogoutClick} />;} else { button = <LoginButton onClick={this.handleLoginClick} />;}return ( <div> <Greeting isLoggedIn={isLoggedIn} /> {button} </div>);还值得一提的是ZekeDroid在评论中提到的内容。如果您只是检查条件而又不想呈现不符合要求的特定代码,则可以使用
&& operator。
return ( <div> <h1>Hello!</h1> {unreadMessages.length > 0 && <h2> You have {unreadMessages.length} unread messages. </h2> } </div> );


