react-redux入门
![](https://i-blog.csdnimg.cn/blog_migrate/e3d491452fc65262b0c11fa3fffe381e.png)
Redux允许您通过单向流程管理应用程序的状态,在该流程中,子组件子组件可以直接从redux存储访问状态,而无需从父组件获取状态更改。
我假设您具有React的基本知识,并且了解Redux的用途。 事不宜迟,让我们直接开始行动。
这是理想的react-redux应用程序项目结构。
![](https://i-blog.csdnimg.cn/blog_migrate/776eb20503ea6d9e6030026d8fc21880.png)
以下是React应用的典型工作流程 。 我们将更详细地执行以下每个步骤。
![](https://i-blog.csdnimg.cn/blog_migrate/ca696709ed4e7b8df2ee5fb004bf2b46.png)
让我们看看这种流动将如何发生。
1.用户与前端组件进行交互。 道具用于调用启动动作的函数。 动作是使用props启动的,因为它们被映射到称为mapActionsToProps的对象中的props(或者可以称为任何对象),该对象告诉react app应使用哪些props来发起动作。
![](https://i-blog.csdnimg.cn/blog_migrate/7c6ae1ffc13892d2181c11124e8cbbce.png)
2.一个动作通常包含一个类型(或标识符)和有效载荷(或数据)。 它还可以执行诸如从API提取数据之类的任务。 下面的代码显示了操作的外观。
![](https://i-blog.csdnimg.cn/blog_migrate/7fc81a990b623e73348f7fd78ea56111.png)
3.分派动作后,减速器会收到该动作。 减速器的工作是返回更改后的状态。 根据操作的类型,减速器可能会返回组件的更改状态。
![](https://i-blog.csdnimg.cn/blog_migrate/a439118fde451fa5722e10ee7fb1e83f.png)
react应用程序的所有reducer合并为一个reducer,并将其作为参数传递给redux存储。
![](https://i-blog.csdnimg.cn/blog_migrate/5ee678c7e1ccca1ba0bed185662e9480.png)
Redux存储在根组件中提供给react应用。
![](https://i-blog.csdnimg.cn/blog_migrate/e8032979f73739f25426f23c5ba9a8c3.png)
4.更改后的状态再次用于显示更新的组件。 状态在mapStateToProps函数中映射到组件的props。 该功能中定义的道具可以相应地用于更新组件。
![](https://i-blog.csdnimg.cn/blog_migrate/996e124a0a934901c305130c539b22cb.png)
因此,更详细的流程可能如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/96d15f7e6924fee8458a034aa0dab3bf.png)
如果您想遍历代码以了解它们如何组合在一起,可以在此处找到上述代码示例的Gitub。
在react-redux-中工作时,请记住某些事项
- 减速器必须是纯函数。 给定任何输入,输出必须始终相同。
- 该州整个应用程序都存储在一个对象树上的一个内商店 。
- 状态为只读。 更改状态的唯一方法是发出一个动作 ,一个描述发生了什么的对象。
- 状态更改是通过纯函数(reduce)进行的。
希望您已经了解了基本的react-redux应用程序工作流程。
干杯! 快乐的一天!
随时在LinkedIn和Instagram上添加我!
如果您想继续前进,可能需要了解许多重要的概念,请参考以下链接
在工作流程和概念上对Redux备忘单做出React。 通过创建一个 github.com 来为uanders / react-redux-cheatsheet开发做出贡献
react-redux入门