1. 程式人生 > >react 隱藏元件 阻止渲染

react 隱藏元件 阻止渲染

在下面的例子中,<WarningBanner /> 根據屬性 warn 的值條件渲染。如果 warn 的值是 false,則元件不會渲染:

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

相關推薦

react 隱藏元件 阻止渲染

在下面的例子中,<WarningBanner /> 根據屬性 warn 的值條件渲染。如果 warn 的值是 false,則元件不會渲染: function WarningBanner(props) { if (!props.warn) { retu

React-Native Text元件重新渲染時會文字超出螢幕的問題

React-Native Text元件重新渲染時會文字超出螢幕的問題 今天在開發中碰到一個很奇怪的問題就是初次渲染的時候Text元件裡的文字會正常換行,一切看起來都很和諧,但是當我滾動scrollview引起重新渲染的時候,靈異事件發生了,這個Text裡本來的兩行文字,卻詭異的變成了一行

react-native元件避免重複渲染

react-native若有效能問題,很可能是由於元件的重複渲染,研究下相關知識點。 轉載http://www.tuicool.com/articles/vY7Vjym export default class Home1 extends Component {

React-Native開發三 React Native元件生命週期

1 前言 大家都知道React Native其實是由很多元件構成,開發RN介面的過程就是合理的組織各個元件的過程,在這其中需要不斷的拆分和優化元件。因此理解RN元件的生命週期很重要,這樣我們才能合理的在元件中進行我們的事務。 2 React Native元件生命週期 RN元件

React元件,元素和例項

React Components, Elements, and Instances Elements Describe the Tree 在react中,元素(element)就是描述元件例項或DOM節點及其所需屬性的普通物件。 它僅包含有關元件型別(例如,Button元件),

Context - React元件訪問資料的利器

1. Context - React元件間傳遞資料的利器 Context提供了一種跨元件訪問資料的方法。它無需在元件樹間逐層傳遞屬性,也可以方便的訪問其他元件的資料 在經典的React應用中,資料是父元件通過props向子元件傳遞的。但是在某些特定場合,有些資料需要在各個元件之間共享。Context為我們

react高階元件

1 高階元件就是一個函式,且該函式接受一個元件作為引數,並返回一個新的元件 import React, { Component } from 'react'; import simpleHoc from './simple-hoc'; class Usual extends Component

React Native元件的生命週期

                  生命週期執行流程圖 元件的生命週期分成三個狀態:            1.Mounting(裝

web前端之react建立元件的三種方式

eact建立元件的三種方式: 1、函式式無狀態元件 2、es5方式React.createClass元件 3、es6方式extends React.Component 三種建立方式的異同 1、函式式無狀態元件 (1)語法 (2)特點 ● 它是為了建立純展示

[React.js]元件解除安裝如何自動取消非同步請求

背景介紹 某次路過同事的工位,剛好看到同事在寫面試評價,看到裡面有一個問題:元件解除安裝時自動取消非同步請求問題,不及格。 我:??? 現在fetch已經支援手動abort請求了嗎? 於是上網去查各種資料:how to abort fetch http request when component u

react 定義元件變數

react定義變數: constructor(){ super(); this.state={ timer:0 } } 方法:    functionA(){    &nb

react jsx元件 2018版

在根目錄下建立component和pages資料夾 在pages下建立Header.jsx: 程式碼如下: var React=require("react"); class Header extends React.Component { render() {

React元件呼叫子元件的方法

1 import React, {Component} from 'react'; 2 3 export default class Parent extends Component { 4 render() { 5 return( 6 &l

React系列--元件Component

1. 元件其實可以理解為 虛擬 dom物件的集合。也是一個虛擬dom。 1.1元件定義有兩種方式   //  1) 工廠函式,無狀態,(定義一些比較簡潔的元件,推薦使用)     function MyComponent1(){       return <h

react元件、變數常量、方法的匯入匯出總結

@[總結react中元件、變數常量、方法的匯入匯出) 元件 匯出 export default class Component extends Component{ render(){ return (<div>Hello, World.<

深入淺出理解 React高階元件

開始之前,有兩點需要說明一下:1、React 高階元件 僅僅是一種模式,並不是 React 的基礎知識;2、它不是開發 React app 的必要知識。你可以略過此文章,仍然可以開發 React app。然而,技多不壓身,如果你也是一位 React 開發者,強烈建議你掌握它。 一、為什麼需要高階元

深入react 高階元件

高階元件: 返回值是一個函式的那麼一個函式 基本算是個類工廠方法 W (WrappedComponent) 是被包裹的 React.Component;而函式返回的 E (Enhanced Component) 則是新得到的 HOC,也是個 React.Compone

帶著三個問題深入淺出React高階元件

前言 "高階"二字聽起來非常唬人,因為大學高數課上的高階方程讓人抓狂,從而讓第一次接觸"高階元件"概念的人們誤以為又是什麼高深的思想和複雜的邏輯。但相信在你學習完成後和生產環境大量使用過程中,就會發現這個所謂"高階元件"真的一點也不高階,非常簡單易懂。本文通過回答三個問題帶你深入淺出React高

react 動態元件載入器

在進行react專案,特別是後臺管理的專案開發中,表單、提示框等彈出元件的應用是相當廣泛的。 而這些彈框元件的狀態比如開啟、關閉以及內部顯示的內容通常都要依靠父級元件的state進行管理。 但是當在一個頁面元件中大量的使用到這些彈框的時候,對他們的狀態管理會有非常嚴重的問題,每一個彈框元件都需要相應的st

react native元件通訊

在日常開發過程中,元件之間的通訊我們應該經常用到,也是我們開發過程中不可或缺的一部分。元件可以分為父子元件以及兄弟元件,下面就不同元件之間的通訊進行說明。 父元件通過props與子元件通訊 定義父元件 import React, {Component} from 'react'; import {