import set from 'lodash/set'
state = {
a: 'a',
b: [1,2,3]
c: {
d: [
{e: 5}
]
}
// ...很多不同深度的属性
}
// 这里的any如何声明才能支持state任意类型属性的修改?
setStateWithPathList: (actions:{[key: string]: any}) => {
Object.keys(action).forEach(key => {
const val = action[key]
set(state, key, val)
})
}
// 执行
setStateWithPathList({
a: '',
b: [],
})
// 报错
可以参考[TS object types]
测试: