React$Data-Scope

70 阅读1分钟

React$Data-Scope

对于一个函数,它的数据来源可以是参数 parameters - props(可以参考我之前的文章 React$Data-Props),也可以是作用域 scope 中的 constants,或者是自身。

本篇介绍scope - constants。

为什么使用作用域 scope

假如我们需要一个列表 genderList,列表的选项可以是 male, female 和 unknown。我们既可以把 genderList 放到组件内,也可以放到组件外,为什么要放到组件外呢?(放到组件外,就用到了作用域。)

  1. 感觉。这个 genderList 并不属于某个组件,我们只是在组件中使用了它。
  2. 便于管理。genderList 是 constant,提取到单独的文件就可以被多个组件使用。
  3. 性能。每次数据更新,组件都会执行一遍。我们并不需要每次都声明 genderList。

为什么是常量 constant

Scope 里的数据需要是常量,组件内不应该修改它。

  1. 如果修改了数据,其他使用的地方会受到影响。
  2. 破坏了组件的purity。