首页 > 解决方案 > 导出 + 导入对象与上下文

问题描述

我试图寻找答案,但我没有找到答案。也许我不知道关键字。

在 react 中,为了让组件可以访问应用程序中任何位置的某个值,我们通常使用createContext++ ProvideruseContext

我也读过我们可以跳过这Provider一步,传递createContexta 值。

我的问题是:

  1. 如果我们跳过Provider上面提到的步骤,我们就不能改变上下文的值,对吧?
  2. 如果我希望所有组件都可以访问一个永远不会更改的值,我不能只制作一个文件并导出该值,使组件可以导入该值,而不使用 React Context/Props?如果是这样,这是一个不好的做法吗?

标签: reactjs

解决方案


如果您要使用的数据是静态和全局的(如环境变量) ,请不要使用上下文。

在以下情况下使用上下文:

  • 数据仅在几个组件范围内可用。
  • 或者分布式数据可以随时更改,因此所有这些数据消费者都必须知道数据是否已更改(反应式)。

例如像 的值theme,它可以是darklight。用户可以随时更改light页面dark。在这种情况下,上下文非常有用。


推荐阅读