【发布时间】:2020-09-18 22:14:03
【问题描述】:
const UsersStateContext = React.createContext( [{user:1},{user:2},{user:3}] );
function getState(){
return UsersStateContext._currentValue;
}
经过几个小时的搜索,我找到了官方不支持的这种方法。有没有像 Redux 的 store.getState() 那样让 React 钩子只读取当前状态而无需订阅的解决方案?
或者这种方法在生产中使用安全吗?
【问题讨论】:
-
有人很好地解释了“没有组件的上下文是没有意义的”。但是删了。例如,Users State Context Provider 中的按钮由 Context 中的用户数据呈现,按下它后,它会使用该用户数据从另一个 Context(与其呈现无关)中提取数据,并将两者发送到外部的组件树用户状态上下文提供程序树。所以即使它使用上下文数据,也有组件不受上下文变化的影响。我们应该如何解决这个问题?
-
所以如果我可以读取一个值,那就没问题了。 (不是在寻找 React.Memo 解决方案)
-
你找到了一些好的解决方案吗?
-
不幸的是。正如下面的答案所示,我将相同的数据同步保存在一个全局变量中,并在需要时调用它。
标签: reactjs