javascript – React Context API,更新上下文

前端之家收集整理的这篇文章主要介绍了javascript – React Context API,更新上下文前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在一些网络调用完成后在运行时设置上下文(只有那时我知道需要在我的应用程序中访问的值),但我不知道如何持久化这个值.

我可以像这样更新上下文值:

<NetworkVersion.Provider value={{version: this.state.version}}>

我可以在哪里使用组件的状态.这种方法取自官方的React文档.

但我很惊讶地发现此Provider的其他消费者获得了在React.createContext()调用中初始化的默认值(空对象).有没有办法在运行时更新Context并在应用程序的生命周期内保留该值?

解决方法

确保您的Context Consumer是关联Provider的子级,否则它将获得默认值.见 https://reactjs.org/docs/context.html#consumer

你也可以更好地传递原始价值 – 即

< NetworkVersion.Provider value = {this.state.version}>

或者你可能会得到不必要的重新渲染.见https://reactjs.org/docs/context.html#caveats

猜你在找的JavaScript相关文章