当前位置: 首页 > news >正文

湖南建设银行官网网站首页vue开发视频网站

湖南建设银行官网网站首页,vue开发视频网站,竞价外包推广,爱站网综合查询一、为什么redux中要使用不可变数据 Redux 要求使用不可变数据#xff0c;是因为它遵循了函数式编程的原则。在函数式编程中#xff0c;数据不可变是一项重要的原则#xff0c;这有助于避免状态更改产生的不可预知的副作用。 在 Redux 中#xff0c;每当 action 被分发是因为它遵循了函数式编程的原则。在函数式编程中数据不可变是一项重要的原则这有助于避免状态更改产生的不可预知的副作用。 在 Redux 中每当 action 被分发reducer 都会接收到当前的状态和 action并返回一个新的状态。如果使用的是可变数据类型并且在 reducer 中直接对状态进行修改就会造成状态的不可预知的更改。 因此Redux 要求使用不可变数据是为了更好地管理应用状态以及提高代码的可读性和可维护性 二、在redux中使用immer import produce from immer; const defaultState {name: 张三, };const userReducer (state defaultState, action) {console.log(action);switch (action.type) {case UPDATE_USER_NAME:return produce(state, (draft) {draft.name action.name;});default:return state;} };export default userReducer;四、applyMiddleware 1、概念 applyMiddleware 是 Redux 的一个高阶函数用于向 Redux Store 应用中间件。 中间件是一个函数它可以在 dispatch 操作执行前后对 action 进行拦截、处理、修改等操作。例如日志记录、错误捕获、异步请求、数据缓存等等。 使用 applyMiddleware你可以实现额外的功能并且可以在不修改原始代码的情况下对其进行扩展。 2、例子 import { createStore, applyMiddleware } from redux // 日志插件 import logger from redux-logger import rootReducer from ./reducers// 直接使用日志插件 const store createStore(rootReducer, applyMiddleware(logger))五、进阶——使用immer封装一个redux的中间件让所有的修改数据都是以不可变数据的方式进行修改 1、创建一个immerMiddleware.js文件 import { produce } from immer;// 定义immerMiddleware中间件/*** * store createStore后返回的store可以使用他的任何方法* next * returns */ const immerMiddleware store next action {// 使用immer的produce函数生成新的stateconst newState produce(store.getState(), draft {/*** next可以调用对应的action里面的reducer* 并且可以拿到reducer返回的结果* 我们把返回的结果给draft赋值*/draft next(action);});// 返回新的statereturn newState; };export default immerMiddleware;2、使用 import { createStore, applyMiddleware } from reduximport immerMiddleware from ./plugin/immerMiddleware import rootReducer from ./reducersconst store createStore(rootReducer, applyMiddleware(immerMiddleware))当我们在修改数据的时候就不需要再考虑不可变数据的问题了因为immer已经统一帮我们处理了
http://www.ho-use.cn/article/10813865.html

相关文章:

  • 公司起名吉祥字大全seo怎么优化方案
  • 做网站需要加班吗300平方别墅装修大约多少钱
  • 怎么关闭网站安全检测wordpress外贸网站模板
  • 网站建设的投资预算怎么写广告制作开票大类是什么
  • 法治网站的建设整改措施wordpress 医疗
  • 学院网站建设北滘做网站
  • 邯郸wap网站建设费用网页设计的发展
  • 做任务打字赚钱的网站wordpress 分类目录 404
  • php网站开发套模板步骤个人公众号开发php
  • 生成flash的网站源码广州建立网站的公司网站
  • 织梦资源下载站网站模板杭州比较好的景观设计公司
  • 湛江网站建设皆选小罗24专业免费游戏不用登录直接玩
  • 怎么查询网站是哪家公司做的wordpress修改发帖时间
  • 个人网站每年要多少钱织梦网站模版下载
  • 查询企业信息的官方网站长沙装修公司哪家好
  • 旅游网站的建设现状苏州市城乡建设局网站首页
  • 怎么在自己做网站网站安全建设架构
  • 商品网站建设实验报告子域名查询工具
  • 成都网站优化常识总部在上海的世界500强企业
  • 创建网站快捷方式到桌面oa办公管理系统哪个好
  • 怎么做相册的网站网站建设价格套餐
  • 阿里云个人网站制作湛江网站建设方案报价
  • 新乡高端网站建设北京seo教师
  • 天津建站模板网站模板展示
  • 网站开发维护求职信淘宝电子网站建设论文
  • 合适的网站建设明细报价表wordpress官方空间
  • 内蒙古网站建设熊掌号wordpress 伪静态500
  • 濮阳免费网站制作中国建筑工程网施工资料
  • 部门网站建设管理报告提供商城网站
  • 浅谈学校网站建设一个可以做行程的网站