redux整理

143 阅读1分钟
  • 1、redux靠action事件更新状态
  • 2、redux中状态的更新都使用不可变的方式
  • 3、action是具有type固定字段的js对象,用于描述接下来要发生什么事;
  • 4、action使用payload字段放置附加信息;
  • 5、如果有多次使用action的情况,可以创建一个action creator,作用是不需要你每次都编写action,
  • 它是一个返回action对象的函数
  • 6、reducer是用来监听某些action,并更新state的函数,他会返回新的state
  • 7、store用于存储状态
  • 8、store创建时需要传入reducer(也可传入对象,key为切片名,值为reduce,有点像vuex中的module),且有一个getState方法,返回当前的状态
  • 9、我们需要通过dispatch一个action对象,然后store会执行reducer更新state
  • 10、我们可以通过selecctor函数提取状态中的某一值,避免重复读取逻辑;
  • 11、我们可以通过createSlice快速生成action 、action creator、以及定义状态和reducer;
  • 12、当我们想要在redux中编写异步逻辑时,需要定义thunk,thunk需要返回一个函数,且返回的函数有两个默认参数,dispatch和getState。
  • thunk可以被dispatch,并像action creator一样可以携带参数
  • 13、由于我们不能直接使用store.getState(组件不能直接与redux store对话),所以需要定义selector函数(有点像vuex中的getters),并将
  • 其传入react-redux的useSelector hook 由该hook帮我们与store对话,以获取实时更新的store状态
  • 14、同上,dispatch也需要导入useDispatch hook来实现