- 类组件createContext、静态属性contextType 与函数组件useContext 的对比
import { Component, createContext, useContext } from 'react'
const AppContext = createContext(0)
class Foo extends Component {
render() {
return (
<AppContext.Consumer>
{
value => (
'Foo:' + value
)
}
</AppContext.Consumer>
)
}
}
class Bar extends Component {
static contextType = AppContext
render() {
const value = this.context
return <>Bar:{value}</>
}
}
const Baz = () => {
const value = useContext(AppContext)
return <>Baz:{value}</>
}
const Middle = () => {
return (
<>
<AppContext.Provider value={888}>
<Foo />
<br />
<Bar />
<br />
<Baz />
</AppContext.Provider>
</>
)
}
export default Middle