首页 > 解决方案 > 有人可以解释为什么我不应该直接更新 React `context` 中的值吗?

问题描述

我通过提供者通过消费者向子组件提供上下文。在该消费者组件内部,如果用户采取行动,我想更新上下文中的特定值,以便所有其他消费者组件都可以访问新的上下文值。

我从 React 文档中了解到,正确的方法是在上下文中传递一个 setter 函数,该函数将更新负责创建上下文提供程序本身的组件的状态值。

参考:https ://reactjs.org/docs/context.html#updating-context-from-a-nested-component

我想知道为什么我不能做这么简单的事情:

this.context.X = Y;

它似乎有效,而且我没有看到任何明显的副作用,但我认为 React 文档没有显示这种方法一定是有原因的。

标签: reactjs

解决方案


推荐阅读