安装插件 npm 官方文档 https://www.npmjs.com/package/lodash
$ npm i --save lodash
引入到文件中
import { cloneDeep } from 'lodash'
可以实现深复制 改变数据 不会影响到以前的数据
import { cloneDeep } from 'lodash'
const state = {
str: 'lodash深复制',
obj: {
y: 1,
aa:[5,54,76,{"哈哈":"你好啊"}],
nihao:{
haha:'121',
heihei:'54'
}
},
arr: [1, 2, 3]
}
const newState = cloneDeep(state) /* 使用时 将需要克隆的数据放进去 */
//改变数据试试
newState.obj.aa.push(10)
newState.obj.nihao.haha = "你好"
newState.obj.aa[3] = {"hahh":"wobuhao"}
//打印结果 前后进行比较
console.log(state, newState)
// const newState = JSON.parse(JSON.stringify(state)) /* 使用JSON.parse 也可以实现深复制 */
比较的结果: 不会影响之前的数据
image.png