我正在开发一个 react.js 项目,在渲染主组件之前,我调用一个函数,该函数返回所有组件都应该能够访问的对象。反应的正确方法是什么?目前,我只是将其作为道具传递给主组件,然后我想我应该记住将其作为道具传递给所有其他组件。有没有更简单或更好的方法可以做到这一点?
看起来你正在做类似 Redux 的事情。将对象作为道具传递应该没问题。你可以制作一个高阶组件来包装你的组件,并通过 props 添加对该全局对象的访问。这类似于Redux的connect
。
由于 React 中的期望是应用程序范围的关注点,如 flux/redux/apollo 存储,保存在根提供程序组件的上下文中,然后通过高阶组件或渲染道具访问组件树中的其他地方。这减轻了全局和循环依赖关系的负担,并使测试这些组件变得更加容易。
但是,如果您有需要访问配置值的非组件代码,则可能需要使用全局config
并以接受来自 props 的配置值的方式编写组件。
请参阅: https://github.com/lorenwest/node-config