<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ``` import React, { Component } from 'react' class Foo extends Component { // 加上這個后,會比較傳入的 props 值,如果前后一致,則不渲染 shouldComponentUpdate(nextProps, nextState) { if (nextProps.name === this.props.name) { return false } return true } render() { console.log('foo render') return null } } export default class App extends Component { state = { count: 0 } render() { return ( <div> // 原本點擊事件觸發時,Foo組件會重新渲染 <button onClick={() => this.setState({count: this.state.count+1})} >add</button> <Foo name="Mike"/> </div> ) } } ``` 或者使用PureComponent 聲明組件 ``` import React, { Component, PureComponent } from 'react' class Foo extends PureComponent { render() { console.log('foo render') return null } } ``` 但是PureComponent只會對比傳入的屬性第一級,不會對比屬性內部,如下,傳入 Foo組件的person中age發生了變化,但是Foo組件沒有重新渲染 ``` import React, { Component, PureComponent } from 'react' // PureComponent 只會對比傳入屬性的對比,不會判斷內部屬性 class Foo extends PureComponent { render() { console.log('foo render') return <div>{this.props.person.age}</div> } } export default class App extends Component { state = { count: 0, person: { age: 1 } } render() { const person = this.state.person return ( <div> <button onClick={() => {person.age++;this.setState({person})}} >add</button> <Foo person={person}/> </div> ) } } ``` 或者用 memo 包裹無狀態組件,相當于 PureComponent ``` const Foo = memo((props) => { console.log('foo render') return <div>{props.person.age}</div> }) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看