这篇文章主要为大家展示了“react渲染方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“react渲染方式有哪些”这篇文章吧。
react渲染方式有:1、利用条件表达式渲染,适用于两个组件二选一的渲染;2、利用“&&”操作符渲染,适用于一个组件有无的渲染;3、利用变量输出组件渲染;4、利用函数方法输出组件或者利用函数式组件进行渲染。
本教程操作环境:Windows7系统、react17.0.1版、Dell G3电脑。
React 组件条件渲染的几种方式
一、条件表达式渲染 (适用于两个组件二选一的渲染)
render() { const isLoggedIn = this.state.isLoggedIn; return ( <div> {isLoggedIn ? ( <LogoutButton onClick={this.handleLogoutClick} /> ) : ( <LoginButton onClick={this.handleLoginClick} /> )} </div> ); }
二、&& 操作符渲染 (适用于一个组件有无的渲染)
function Mailbox(props) { const unreadMessages = props.unreadMessages; return ( <div> <h2>Hello!</h2> {unreadMessages.length > 0 && <h3> You have {unreadMessages.length} unread messages. </h3> } </div> ); }
三、利用变量输出组件渲染 (适用于有多个组件多种条件下的渲染)
render() { const isLoggedIn = this.state.isLoggedIn; const button = isLoggedIn ? ( <LogoutButton onClick={this.handleLogoutClick} /> ) : ( <LoginButton onClick={this.handleLoginClick} /> ); return ( <div> <Greeting isLoggedIn={isLoggedIn} /> {button} </div> ); }
四、利用函数方法输出组件或者利用函数式组件进行渲染 (适用于多个子组件需要根据复杂的条件输出的情况)
1. 函数方式
renderButton(){ const isLoggedIn = this.state.isLoggedIn; if(isLoggedIn) { return (<LogoutButton onClick={this.handleLogoutClick} />); } else { return (<LoginButton onClick={this.handleLoginClick} />); } } render() { return ( <div> <Greeting /> {this.renderButton()} </div> ); }
2. 函数式组件
function Greeting(props) { const isLoggedIn = props.isLoggedIn; if (isLoggedIn) { return <UserGreeting />; } return <GuestGreeting />; } ReactDOM.render( // Try changing to isLoggedIn={true}: <Greeting isLoggedIn={false} />, document.getElementById('root') );
以上是“react渲染方式有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。