gpt4 book ai didi

javascript - React Context API,更新上下文

转载 作者:数据小太阳 更新时间:2023-10-29 03:54:05 25 4
gpt4 key购买 nike

我想在一些网络调用完成后在运行时设置上下文(只有这样我才知道需要在我的应用程序中访问的值),但我不知道如何保留这个值。

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

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

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

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

最佳答案

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

你也最好传递一个原始值——即

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

否则您可能会得到不必要的重新渲染。参见 https://reactjs.org/docs/context.html#caveats

关于javascript - React Context API,更新上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49924186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com