Redux小白学习笔记
Redux
本篇学习笔记是针对自己的项目所写的,所以有看不懂的地方要或者更多的注释和细节需要参加全栈小项目(react+redux+koa+mongo)中的(/client/src)部分,欢迎点赞支持~
简介
首先关于react中redux环境的搭建:
cnpm i redux react-redux redux-thunk
这三个分别依赖一般是都要安装的,
第一个不说了,
第二个是关联react和redux的桥梁,大致原理是通过一个闭包生成一个数据中心store,然后把这个store绑定到React的顶层props里面,子组件通过HOC建立与顶层props.store的联系,进而获取数据、修改数据、更新UI
第三个是为了解决异步问题。
首先挂一下阮一峰老师的图片
- 用户通过component即view层触发事件,事件逻辑中遇到state改变就调用dispatch分发Action给store
- Store 调用 Reducer,并向Reducer传入两个参数:当前 State 和收到的 Action 对象
- Reducer中进行判断后生成新state再次转发给store,store提交新state给component接收
- component接收到改变的state后自动重新渲染
其实如果说子组件不涉及交互功能,只是单纯的数据展示的话,那么没必要用redux,直接父组件用redux,然后将属性传递给子组件就好
Store
首先创建Store.js文件,Store就是保存数据的地方,利用createStore()生成,整个应用要保持Store的唯一性。
createStore()中有三个参数:reducer, initialState,