redux的简单实现
一个小demo介绍redux的实现原理,原则:1、保持一个state 2、外部无法直接对其进行操作 3、通过纯函数的方式更改状态 4、返回状态为新的state,除非state没有变化
一个小demo介绍redux的实现原理,原则:1、保持一个state 2、外部无法直接对其进行操作 3、通过纯函数的方式更改状态 4、返回状态为新的state,除非state没有变化
直接上代码:
'use strict'; let state = { aaa : {name :'dora'}, bbb : {group :'javascript'}, ccc : {age : 29} }; function update(updaters,state){ let newState = {}; const keys = Object.keys(updaters); keys.forEach(key=>{ let updater = updaters[key] // updater pure function let value = state[key]; let newSubState = updater(value); newState[key] = newSubState; }) let result = Object.assign({},state,newState); console.log(result); } function aaaUpdater(subState){ return { name : 'doramart' } } function bbbUpdater(subState){ return { group : 'nodejs' } } update({ aaa : aaaUpdater, bbb : bbbUpdater },state);
通过输出结果可以看到,我们通过纯函数的形式修改了state
很赞哦! ( 0
)
相关文章
- Node.js API实例讲解——https服务器与客户端
- Node.js API实例讲解——FS文件系统概述
- Node.js API实例讲解——进程的操作
- Node.js API实例讲解——二进制类型转换
- Node.js API实例讲解——创建UDP服务器
- Node.js API实例讲解——EventEmitter
- Node.js API实例讲解——Buffer是什么
- Node.js API实例讲解——Buffer的读取方法
- 树莓派 (为学生计算机编程教育设计的一种卡片式电脑)
- 图标字体化浅谈
- Node.js API实例讲解——其他工具模块
- NodeJs利用七牛云存储实现图片上传缩略图生成等操作