状态管理用到的一些工具和开源库

Redux

设计思想

基本概念

Store

State

Action

Action Creator

Store.dispatch()

Reducer

纯函数

Store.subscribe()

Reducer的拆分

工作流

Example

React-Redux

UI组件

容器组件

connect()

mapStateToProps()

mapDispatchToProps()

组件

计数器示例

Immer

Sample

Reselect

References

最近项目......

JavaScript对象的浅拷贝和深拷贝

浅拷贝

浅拷贝的概念很容易理解,即拷贝对象最外一层属性,更深层次的对象,则是通过引用指向同一块内存。

function shadowClone(o) {

const obj = {};

for ( let i in o) {

obj[i] = o[i];

}

return obj;

}

const oldObj = {

a: 1,

b: [ 'e', 'f', 'g' ],

c: { h: { i: 2 } }

};

const newObj = shadowClone(oldObj);

console.log(newObj.c.h, ......