State 是怎么注入到组件的,从 reducer 到组件经历了什么样的过程 ?
在React和Redux中,state的流动过程如下:
- Dispatch Action:当用户交互或者某些事件触发时,你的应用会dispatch一个action。这个action是一个描述了发生了什么的普通对象。
-
Reducer处理Action:Redux store会调用你提供的reducer函数,传递当前的state和刚刚dispatch的action作为参数。Reducer是一个纯函数,它接收旧的state和action,然后返回新的state,描述了用户action如何改变state。
-
Store更新:Redux store保存了根reducer返回的整个state树。当新的state返回后,Redux store会更新state,并且会通知所有的监听器。
-
组件重新渲染:当store更新后,所有与state有关的组件都会重新渲染。在React和Redux应用中,你会使用
react-redux
库的Provider
组件将store提供给你的组件树,然后使用connect
函数将你的组件连接到Redux store。当state更新时,connect
函数会确保React组件接收到新的props并重新渲染。
通过这一系列过程,state被注入到React组件中,当state更新时,与之相关联的组件也会更新。