Reactjs React上下文和JS singleton之间的区别

Reactjs React上下文和JS singleton之间的区别,reactjs,Reactjs,是一种使对象在我的React树的所有组件中都可用的方法,而不必通过中间组件的道具将对象穿行。创建单例全局对象 上下文有点麻烦,因为我必须为我想放入“全局范围”的每一个新事物向渲染树添加一个元素。那么,与单例全局对象相比,使用上下文有什么好处呢?我的答案如下所述: 上下文提供的不仅仅是一个全局变量,因为它可以依赖于可能更改的道具或状态。更改上下文的依赖项时,上下文将更新,任何依赖于上下文的内容都将重新加载。实际上,上下文本身不会更新组件。上下文仅在其使用状态或某种可观察状态下更新组件 回答你的问题

是一种使对象在我的React树的所有组件中都可用的方法,而不必通过中间组件的道具将对象穿行。创建单例全局对象


上下文有点麻烦,因为我必须为我想放入“全局范围”的每一个新事物向渲染树添加一个元素。那么,与单例全局对象相比,使用上下文有什么好处呢?

我的答案如下所述:


上下文提供的不仅仅是一个全局变量,因为它可以依赖于可能更改的道具或状态。更改上下文的依赖项时,上下文将更新,任何依赖于上下文的内容都将重新加载。

实际上,上下文本身不会更新组件。上下文仅在其使用状态或某种可观察状态下更新组件


回答你的问题。您可以使用具有观察者模式的单例,如

可能重复请阅读以下内容:当您的模块单例值发生变化时,您将如何触发对重新启动的反应?我想这类回答了我的问题。我在考虑这样一种情况,即在初始渲染后它不会改变(或者上下文只保存一个执行其他操作的函数)。