Java教程

redux 中间件 与 immutable 不可变数据

本文主要是介绍redux 中间件 与 immutable 不可变数据,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • redux中 向 reducer 派发 action的时候, action 必须是一个对象, 但是有些时候我们需要在派发action 的时候, 需要做一些逻辑处理, 所以store.dispatch派发的需要是一个函数, 这个时候我们就需要引入一个中间件
  • 我们可以在redux 中解构出一个 applyMiddleware, 然后在创建store 对象的时候, 在 createStore中引入第三个参数 applyMiddleware 它是一个函数, 把 thunk 中间件作为参数传入, 这样我们就可以在  store.dispatch() 派发 action 的时候, 发送一个函数, redux 会自动帮我们处理
  • redux 扩展的函数, 需要传入dispatch 参数, 
  •  immutable 不可变数据 , 是一种持久化数据, 一旦创建就不会被修改, 修改immutable对象的时候返回新的immutable, 但是 原数据不会改变
  1. Redux中, 修改数据的时候, 使用深拷贝对性能消耗较大, 所以引入 immutable, 
  2. immnutable 数据, 只会拷贝你改变的节点, 从而节省性能, 
  3. 安装: cnpm i immutable --save
  • 使用方法: 引入 immutable 结构出 map, 把state数据用 map 包裹
  1. 增加 state.set('要改变的值', 'action传过来的值')
  2. 删除 state.delete('值')
  3. 修改 state.update('需要更新的值', '回调函数, 返回一个更新后的值')
  • list数据结构
  1. 增加:  list.push('要添加的值'), 用法与原生 js 相同, 但是返回值为 immutable 的 list结构, 不是数组结构, 没有 length 属性, 有 size
  2. 删: list.splice() 
这篇关于redux 中间件 与 immutable 不可变数据的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!