如何组织和管理组件间的数据状态

问题

在大型应用中,一个数据源会被多个组件使用。在 React 中如何处理和组织呢?

原则

原则:在 React 应用中,任何可变的数据应当只有一个相对应的唯一数据源,在多个组件需要同一个数据源时,应当遵循 正上而下 的原则,而不是尝试在不同组件中同步状态。

官方文档所提到的原则中有两点:

  • 每个可变数据应当只有一个唯一数据源;
  • 多组件需要同一个 state 时,应当优先使用自上而下,将 state 提升到最近的父组件;

因此,我们在设计应用的时候可以根据以上两个原则合理的设计的组织组件组成。

虽然 state 的提升会使得我们要写更多的代码。但带来的好处是,排查和隔离 bug 的工作量减少了。因为存在于组件中的任何 state 只有组件本身可以修改它,所以排查的范围减少了。

标签: none

添加新评论