zoukankan      html  css  js  c++  java
  • react contextType,useContext,Provider参数简易传递

    //useCallback
    import React, { Fragment, PureComponent, memo, useContext, createContext } from 'react';
    // import About from './About';
    const CountContext = createContext();  //创建context
    
    //类方式
    class Foo extends PureComponent {
      static contextType = CountContext;   //注入this.context,static 表示静态方法
      render() {
        let count = this.context;
        return (
          <div>{count}</div>
        )
      }
    }
    //hooks方式
    const Fbr = memo(() => {
      const count = useContext(CountContext);   //CountContext是上文创建context对象
      return (
        <div>
          {count}
        </div>
      )
    });
    
    class App extends PureComponent {
      state = {
        count: 0,
        name: 0
      }
      render() {
        return (
          <Fragment>
            <CountContext.Provider value={this.state.count}>
              <Foo count={this.state.count} ></Foo>
              <Fbr></Fbr>
            </CountContext.Provider>    //Provider传递参数
            <button onClick={() => { this.setState(() => ({ count: this.state.count + 1 })) }}>加count</button>
          </Fragment>
        )
      }
    }
    export default App;
    

      

  • 相关阅读:
    MySQL Binlog解析(2)
    在线修改GTID模式
    官方online ddl
    pt-osc原理
    pt-osc使用方法
    python基本数据类型
    第一句python
    搭建私有云kodexplorer
    frp搭建
    Linux下快速分析DUMP文件
  • 原文地址:https://www.cnblogs.com/uimeigui/p/12655576.html
Copyright © 2011-2022 走看看