亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

React學習筆記之條件渲染(一)

2019-11-19 16:12:35
字體:
來源:轉載
供稿:網友

前言

在React中,你可以創建不同的組件各自封裝你需要的東西。之后你可以只渲染其中的一部分,這取決于應用的state(狀態)。下面就來看看詳細的介紹:

條件渲染

可以根據state的值進行組件的條件渲染。例如:

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'));

你還可以用變量去存儲組件,以便進行條件篩選,使得渲染函數的返回值更加清爽,例如:

class LoginControl extends React.Component {  constructor(props) { super(props); this.handleLoginClick = this.handleLoginClick.bind(this); this.handleLogoutClick = this.handleLogoutClick.bind(this); this.state = {isLoggedIn: false}; } handleLoginClick() { this.setState({isLoggedIn: true}); } handleLogoutClick() { this.setState({isLoggedIn: false}); } render() { const isLoggedIn = this.state.isLoggedIn; let button = null; if (isLoggedIn) { button = <LogoutButton onClick={this.handleLogoutClick} />; } else { button = <LoginButton onClick={this.handleLoginClick} />; } return ( <div> <Greeting isLoggedIn={isLoggedIn} /> {button} </div> ); }}ReactDOM.render(  <LoginControl />, document.getElementById('root'));

還可以使用短操作符來實現條件篩選,可以用更短的代碼寫出渲染結果。例如&&來替代if,?:來替代if else, 例如:

function Mailbox(props) {  const unreadMessages = props.unreadMessages; return ( <div> <h1>Hello!</h1> {unreadMessages.length > 0 && <h2>  You have {unreadMessages.length} unread messages. </h2> } </div> );}const messages = ['React', 'Re: React', 'Re:Re: React']; ReactDOM.render(  <Mailbox unreadMessages={messages} />, document.getElementById('root'));
render() {  const isLoggedIn = this.state.isLoggedIn; return ( <div> The user is <b>{isLoggedIn ? 'currently' : 'not'}</b> logged in. </div> );}

這種跟更大的表達式的寫法也可以,但是不推薦,因為代碼就不是很直觀了。

render() {  const isLoggedIn = this.state.isLoggedIn; return ( <div> {isLoggedIn ? ( <LogoutButton onClick={this.handleLogoutClick} /> ) : ( <LoginButton onClick={this.handleLoginClick} /> )} </div> );}

如果組件有時候需要渲染出來,而有時候不需要渲染出來,在不需要渲染的時候返回null即可。例如:

function WarningBanner(props) {  if (!props.warn) { return null; } return ( <div className="warning"> Warning! </div> );}class Page extends React.Component {  constructor(props) { super(props); this.state = {showWarning: true} this.handleToggleClick = this.handleToggleClick.bind(this); } handleToggleClick() { this.setState(prevState => ({ showWarning: !prevState.showWarning })); } render() { return ( <div> <WarningBanner warn={this.state.showWarning} /> <button onClick={this.handleToggleClick}>  {this.state.showWarning ? 'Hide' : 'Show'} </button> </div> ); }}ReactDOM.render(  <Page />, document.getElementById('root'));

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩在线视频首页| 91在线视频精品| 亚洲精品91美女久久久久久久| 亚洲的天堂在线中文字幕| 久久精品国产亚洲精品2020| 国产欧美精品在线| 麻豆国产va免费精品高清在线| 日韩高清不卡av| 色综合久久久888| 欧美日韩一区二区三区在线免费观看| 日韩成人激情视频| 美日韩精品视频免费看| 91欧美精品成人综合在线观看| 亚洲精选中文字幕| 日韩美女在线观看| 久久国产一区二区三区| 亚洲香蕉成视频在线观看| 色偷偷噜噜噜亚洲男人的天堂| 国产ts一区二区| 一区二区三区回区在观看免费视频| 国产69久久精品成人| 97精品视频在线观看| 欧美日韩国产在线| 亚洲国产日韩欧美综合久久| 久久久久久亚洲精品不卡| 91精品国产高清久久久久久91| 欧美大奶子在线| 91网站免费观看| 国产精品1234| 国产亚洲一区精品| 国产精品丝袜久久久久久不卡| 91美女片黄在线观| 亚洲国产婷婷香蕉久久久久久| 成人国产精品日本在线| 精品人伦一区二区三区蜜桃免费| 欧美性猛交xxxx免费看漫画| 久久综合色88| 国产成人精品亚洲精品| 国产欧美精品日韩| 色琪琪综合男人的天堂aⅴ视频| 日av在线播放中文不卡| 国产综合视频在线观看| 91美女片黄在线观| 亚洲网站在线播放| 久久久久www| 国内免费精品永久在线视频| 亚洲欧美日韩直播| 国产精品一区二区三区在线播放| 欧美黑人巨大xxx极品| 一区二区日韩精品| 国产午夜精品全部视频播放| 2018日韩中文字幕| 亚洲黄色av女优在线观看| 久久久久久久999| 91日韩在线播放| 在线视频免费一区二区| 国产在线观看91精品一区| 中文字幕欧美亚洲| zzjj国产精品一区二区| 亚洲天天在线日亚洲洲精| 精品亚洲aⅴ在线观看| 欧美午夜精品伦理| 亚洲人成在线电影| 欧洲美女免费图片一区| 国产精品91久久| 国产一区二区三区在线观看网站| 欧美xxxx做受欧美.88| 久久久av一区| 麻豆精品精华液| 亚洲一区二区久久| 91亚洲精品视频| 亚洲人a成www在线影院| 夜夜嗨av色综合久久久综合网| 欧美电影免费看| 亚洲欧美中文字幕在线一区| 亲爱的老师9免费观看全集电视剧| 国语自产精品视频在线看抢先版图片| 91中文在线视频| 亚洲色图激情小说| 日韩中文字幕在线播放| 欧美激情网友自拍| 日韩欧美国产成人| 欧美黑人xxxⅹ高潮交| 色久欧美在线视频观看| 国产成人啪精品视频免费网| 亚洲free性xxxx护士hd| 日本韩国欧美精品大片卡二| 91精品久久久久久久久久久久久久| 国产中文日韩欧美| 国产日韩在线看片| 欧美日韩中文字幕在线| 奇门遁甲1982国语版免费观看高清| 久久人人爽人人爽人人片亚洲| 久久精品国产亚洲一区二区| 亚洲精品小视频| 欧美成人精品h版在线观看| 中文字幕精品在线| 国产91精品高潮白浆喷水| 欧美高清视频在线观看| 亚洲欧洲一区二区三区久久| 亚洲成人999| 欧美另类极品videosbestfree| 一个色综合导航| 欧美精品在线观看91| 亚洲欧美精品一区二区| 亚洲精品成人网| 中文字幕久久精品| 成人h视频在线| 最近的2019中文字幕免费一页| 欧美专区日韩视频| 欧美电影《睫毛膏》| 日韩欧美中文字幕在线观看| 日韩美女福利视频| 性色av香蕉一区二区| 中文字幕亚洲欧美日韩高清| 久久免费国产视频| 亚洲精品久久久久中文字幕二区| 国产精品免费一区二区三区都可以| 国产成人精品av在线| 国产精品27p| 久久综合亚洲社区| 国产精品久久中文| 欧美成aaa人片在线观看蜜臀| 国产成人久久久| 欧美激情a∨在线视频播放| 欧美电影免费观看大全| 亚洲最大的网站| 色综合导航网站| 高清欧美性猛交| 91免费的视频在线播放| 国模私拍视频一区| 成人激情视频网| 亚洲深夜福利网站| 尤物99国产成人精品视频| 日韩美女写真福利在线观看| 国产精品视频午夜| 日韩av手机在线看| 深夜精品寂寞黄网站在线观看| 欧美成人在线免费视频| 国产精品第3页| 国产精品麻豆va在线播放| 欧美成人亚洲成人| 亚洲激情第一页| 色综合视频一区中文字幕| 成人免费看片视频| 欧美影院成年免费版| 成人黄色短视频在线观看| 成人黄色午夜影院| 久久69精品久久久久久国产越南| 欧美一级在线播放| 在线看福利67194| 亚洲精品永久免费精品| 亚洲国产精品va在看黑人| 亚洲国产精品999| 国产精品激情av电影在线观看| 夜夜嗨av色综合久久久综合网| 国产成人鲁鲁免费视频a| 国产精品久久久久免费a∨| 茄子视频成人在线| 久久久久国色av免费观看性色| 亚洲精品98久久久久久中文字幕| 欧美国产日韩一区二区在线观看| 久久久久久久久国产精品| 国产精品久久久久秋霞鲁丝|