reactjs - 有人可以解释为什么我不应该直接更新 React `context` 中的值吗?
问题描述
我通过提供者通过消费者向子组件提供上下文。在该消费者组件内部,如果用户采取行动,我想更新上下文中的特定值,以便所有其他消费者组件都可以访问新的上下文值。
我从 React 文档中了解到,正确的方法是在上下文中传递一个 setter 函数,该函数将更新负责创建上下文提供程序本身的组件的状态值。
参考:https ://reactjs.org/docs/context.html#updating-context-from-a-nested-component
我想知道为什么我不能做这么简单的事情:
this.context.X = Y;
它似乎有效,而且我没有看到任何明显的副作用,但我认为 React 文档没有显示这种方法一定是有原因的。
解决方案
推荐阅读
- swift - 缩放以适应屏幕尺寸问题 Xcode 11
- javascript - 如何通过javascript单击Selenium中的Li元素
- c++ - OpenCV Freetype2 getTextSize 总是返回 1 高度
- html - 为什么我的 HTML 代码在服务器上隐藏,但在本地机器上却很好?
- react-table - 反应表 - 重新排列 - 按列的保留位置分组
- html - 如何使用提交按钮重定向到其他页面
- javascript - momentjs 和 moment-timezone 是否可以在没有 Internet 连接的情况下工作?
- reactjs - 如何在 Next.js 中使用门户获取直接父容器之外的子元素?
- c++ - C ++是否可以使用类变量作为默认参数
- python - 是否可以在 Python 上编写一个应用程序,但其中嵌入了 C++?