如何在React中声明全局变量?

i18n在一个组件(在应用程序中加载的第一个组件)中初始化了翻译对象。所有其他组件都需要相同的对象。我不想在每个组件中重新初始化它。怎么回事?使它可用于窗口范围并没有帮助,因为我需要在render()方法中使用它。

请提出针对这些问题的通用解决方案,而不是针对国际的解决方案。

回答:

为什么不尝试使用Context?

您可以在任何父组件中声明一个全局上下文变量,并且可以在组件树中通过来访问此变量this.context.varname。您只需要在父组件中指定childContextTypesgetChildContext然后您就可以通过contextTypes在子组件中进行指定而在任何组件中使用/修改它。

但是,请注意文档中提到的这一点:

正如在编写清晰的代码时最好避免使用全局变量一样,在大多数情况下也应避免使用上下文。特别是在使用它“保存类型”并使用它而不是传递显式道具之前,请三思。

以上是 如何在React中声明全局变量? 的全部内容, 来源链接: utcz.com/qa/435801.html

回到顶部