React.js中的条件渲染
使用条件语句,可以呈现和删除特定的组件。条件处理在JavaScript和React.js中的工作方式相似
示例
function DisplayUserMessage( props ){ const user = props.user.type; if(type==’Player’){ return <h1>Player </player>; } If( type==’Admin’){ Return <h1>Admin </h1>; } }
上面的示例中使用了if语句。用户类型决定要返回的消息。
组件的局部状态在决定条件渲染时非常有用,因为状态可以灵活地在组件内部进行更改。
与逻辑&&运算符内联
function MessageSizeChecker(props) { const message = props.message; return ( <div> <h1>Hello!</h1> {message.length > 100 && <h2> Message size is greater than 100 </h2> } </div> ); }
如果&&运算符的第一个参数计算为true,那么第二个参数将显示在屏幕上。
如果不是三元运算符则内联-
它具有类似条件的语法吗?'第一秒';
function MessageSizeChecker(props) { const message = props.message; return ( <div> <h1>Hello!</h1> {message.length > 100 ? ‘Message size is greater than 100’: ‘Message size is ok’} </div> ); }
该三元表达式可以在多个block语句上使用,但要理解它变得繁琐。因此,为使其简单起见,应在简单的条件下使用它。
我们可以决定要渲染的组件。
render() { const isPlayer = this.state.user.isPlayer; return ( <div> { isPlayer ? ( <Player > ) : ( <Admin /> ) } </div> ); }
为了防止组件渲染,我们也可以返回null。但是仅从render方法返回null并不能阻止React进一步适用的生命周期