iT邦幫忙

2022 iThome 鐵人賽

DAY 25
0
Modern Web

Dear React 修煉之路系列 第 25

(D-25) Dear React 修煉之路:條件渲染 - 3

  • 分享至 

  • xImage
  •  

不顯示元素
某些情況下我們不希望元件回傳任何值
我們可以讓元件回傳 null 或 false 即可

如果沒有需要顯示訊息,return 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/> 的 render 取決於 warn prop 的值。
      //如果 prop 是 false,它就不會 render。
        <WarningBanner warn={this.state.showWarning} />
        <button onClick={this.handleToggleClick}>
          {this.state.showWarning ? 'Hide' : 'Show'}
        </button>
      </div>
    );
  }
}

ReactDOM.render(
  <Page />,
  document.getElementById('root')
);

上一篇
(D-24) Dear React 修煉之路:條件渲染 - 2
下一篇
(D-26) Dear React 修煉之路:React 專案結構
系列文
Dear React 修煉之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言