如何声明一个全局变量并在ReactJS的所有其他模块中访问它?

时间:2018-06-25 07:08:06

标签: reactjs module global-variables react-component

作为ReactJS的新手,我希望获得有关全局变量声明和用法的帮助。场景是我有不同的模块,并且想访问所有模块中可用的变量,而不管它们之间的关系如何。确切地说,我有一个管理面板和一个用户仪表板,它们没有共同的父母。但是,我希望在管理面板中设置变量的值,并在用户仪表板和其他模块中使用该值。我试图寻找解决方案,但找不到可行的解决方案。如果使用示例解释解决方案,那将是一个很大的帮助。

2 个答案:

答案 0 :(得分:4)

不确定确切的用例以及最适合您的用例,但是有几种更适合反应概念的模式,它们提供了在不同组件中使用共享变量的能力:

  • 在顶级容器组件中声明一个变量,并将其向下通过props传递给所需的孩子。
  • 使用状态管理器(Redux,Mobx等),并从任何组件访问状态(任何类型的数据)。
  • Context API

答案 1 :(得分:0)

同时为组件和它们之间的传递状态做父母解决了我的问题。对于我的用例,我将管理主页组件(设置状态)和用户登录组件(必须访问状态)定义为公共父组件,并将此父组件定义为App(所有其他组件)被定义)。这解决了我访问组件状态并将其提供给另一个没有共同关系的组件的问题。