正确的方法是让全局变量做出反应

时间:2018-01-09 17:49:32

标签: javascript reactjs global-variables components

我正在开发一个react.js项目,在渲染主要组件之前,我调用一个函数来返回一个所有组件都应该能够访问的对象。做出反应的正确方法是什么?目前,我只是将它作为道具传递给主要组件然后我想我应该记得将它作为道具传递给所有其他组件。有更简单或更好的方法吗?

2 个答案:

答案 0 :(得分:0)

看起来你正在做像Redux这样的事情。将对象作为道具传递应该没问题。您可以创建一个包含组件的高阶组件,并通过props添加对该全局对象的访问权限。这类似于Redux的connect

答案 1 :(得分:0)

由于React中的期望是应用程序范围的问题,如flux / redux / apollo存储,保存在根提供程序组件的上下文中,然后通过高阶组件或渲染道具访问组件树中的其他位置。这样可以减轻全局变量和循环依赖性,并且可以更轻松地测试这些组件。

但是,如果您有需要访问配置值的非组件代码,则可能需要以接受来自props的配置值的方式使用config全局和编写组件。

请参阅:https://github.com/lorenwest/node-config

相关问题