React.createContext

import React from 'react'
import ReactDOM from 'react-dom'
import './index.css'

 const MyContext=React.createContext('default') //创建全局数据共享


//  数据消费,订阅,如果外层没有Provider组件,使用默认值
//  类组件通过静态属性contextType才可以获取createContext创建的对象。
// constructor 生命周期包括render引用this.context 
class Hello extends React.Component{
    constructor(props){
        super(props)
    }
    shouldComponentUpdate(nextProps,nextState){
        console.log('被Provider包裹。should不起作用')
        return false
    }
    static contextType=MyContext           
    render(){
        return(
            

{this.context}

) } } //数据发布者 class App extends React.Component{ constructor(props){ super(props) this.state={count:0} } componentDidMount(){ setTimeout(()=>{ this.setState((state,props)=>{ return {count:1} }) },5000) } render(){ return ( {this.props.children} ) } } ReactDOM.render((),document.getElementById('root'))

 

你可能感兴趣的:(react,react)