redux 中间件 与 immutable 不可变数据
作者:互联网
- redux中 向 reducer 派发 action的时候, action 必须是一个对象, 但是有些时候我们需要在派发action 的时候, 需要做一些逻辑处理, 所以store.dispatch派发的需要是一个函数, 这个时候我们就需要引入一个中间件
- 我们可以在redux 中解构出一个 applyMiddleware, 然后在创建store 对象的时候, 在 createStore中引入第三个参数 applyMiddleware 它是一个函数, 把 thunk 中间件作为参数传入, 这样我们就可以在 store.dispatch() 派发 action 的时候, 发送一个函数, redux 会自动帮我们处理
- redux 扩展的函数, 需要传入dispatch 参数,
- immutable 不可变数据 , 是一种持久化数据, 一旦创建就不会被修改, 修改immutable对象的时候返回新的immutable, 但是 原数据不会改变
- Redux中, 修改数据的时候, 使用深拷贝对性能消耗较大, 所以引入 immutable,
- immnutable 数据, 只会拷贝你改变的节点, 从而节省性能,
- 安装: cnpm i immutable --save
- 使用方法: 引入 immutable 结构出 map, 把state数据用 map 包裹
- 增加 state.set('要改变的值', 'action传过来的值')
- 删除 state.delete('值')
- 修改 state.update('需要更新的值', '回调函数, 返回一个更新后的值')
- list数据结构
- 增加: list.push('要添加的值'), 用法与原生 js 相同, 但是返回值为 immutable 的 list结构, 不是数组结构, 没有 length 属性, 有 size
- 删: list.splice()
标签:中间件,list,state,派发,action,redux,immutable 来源: https://blog.csdn.net/weixin_55696461/article/details/119255017