【发布时间】:2020-12-17 05:42:37
【问题描述】:
我可能误解了 react 上下文一般是如何工作的,但我认为它应该是这样工作的:
我有一个主应用程序,其上下文提供程序如下
export default function app(){
return <contextObj.Provider value={Complex Object with multiple properties...}>
<Main/>
</contextObj.Provider>
}
我的主要应用如下
export default function main(){
//Have imported the context class and am using it
let store = React.useContext(myContext)
return <React.Fragment>
<comp1 max={store.valueX} />
<comp2 />
</React.Fragment>
}
comp2内部,修改context objext内部的valueX
export default function comp2(){
//Have imported the context class and am using it
let store = React.useContext(myContext)
return <buttonComp onClick={()=>store.valueX=3} />
}
所以理论上 comp1 应该接收更新的值并重新渲染? 这就是我卡住的地方,因为更改上下文属性不会导致我的 comp1 重新渲染。
【问题讨论】:
标签: javascript reactjs react-context react-functional-component