小编Thi*_*Sun的帖子

React中的Deepcopy

在减速器中,我们总是Object.assign({},state,newState)用来保存状态.但是assign()不支持deepcopy,因为这种方法只复制多级对象的引用.这是我在程序中的代码.

const menuListState={
	menuList: {},
	menuListLoading:false
}
function getMenuList(state=menuListState,action=defaultAction){
	switch(action.type){
		//menuList begin
		case actions.GET_MENULIST_SUCCESS:
		    return Object.assign({},state,{
			    menuList:action.data,
			    menuListLoading:false
		    });

		default:
			return state;
	}
}
Run Code Online (Sandbox Code Playgroud)

该属性menuList是一个多级对象.而当action.data改变时,会state.menuList在方法assign()工作之前立即改变吗?

javascript reactjs redux

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×1

reactjs ×1

redux ×1