Redux基本概念

100 阅读1分钟

redux使用场景

  • 某个组件的状态需要共享
    
  • 某个状态需要在任何地方可以看到
    
  • 一个组件需要改变全局状态
    
  • 一个组件需要改变另一个组件的状态
    

redux运行原理

redux 通过将所有的 state 集中到组件顶部,能够灵活的将所有 state 各取所需地分发给所有的组件。


redux工作流程

  • 首先,用户在视图中通过 store.dispatch 方法发出 action。
  • 然后,store 自动调用 reducers,并且传入两个参数:当前 state 和收到的 action。reducers 会返回新的 state 。
  • 最后,当store 监听到 state 的变化,就会调用监听函数,触发视图的重新渲染。

总结

  • React 是单向数据流,数据通过 props 从父节点传递到子节点。如果顶层的某个 props 改变了, React 会重新渲染所有的子节点。注意⚠️:props 是只读的(即不可以使用 this.props 直接修改 props),它是用于在整个组件树中传递数据和配置。
  • 每个组件都有属于自己的 state,state 和 props 的区别在于 state 只存在于组件内部。注意 ⚠️:只能从当前组件调用 this.setState 方法修改 state 值(不可以直接修改 this.state)。
  • 更新子组件有两种方式,一种是改变子组件自身的 state 值,另一种则是更新子组件从父组件接收到的 this.props值从而达到更新。
  • 在 React 项目开发过程中,父子关系的组件间可以使用props进行数据的传递实现数据共享,而非父子关系的组件间传递数据需要使用状态管理工具redux。