【发布时间】:2020-02-27 16:49:21
【问题描述】:
我有一个值数组,它们在状态中设置为布尔值。我需要遍历数组并将每个值设置为有效负载(真)。下面的代码可以正常工作,但我正在寻找一种方法来实现任意数量的相同结果。
criticals = ["critical-1-524", "critical-4-572", "critical-15-24", "critical-30-48"]
return {
...state,
mapboxToggleLayers: {
...state.mapboxToggleLayers,
[criticals[0]]: action.payload,
[criticals[1]]: action.payload,
[criticals[2]]: action.payload,
[criticals[3]]: action.payload
}
}
这是我的工作版本,但这会删除它的状态对象中的所有值。
return {
...state,
mapboxToggleLayers: {
...state.mapboxToggleLayers
[criticals.map(el => {
let critObj = {}
return critObj[`${el}`] = action.payload
})]
}
}
【问题讨论】:
-
顺便说一下我在用钩子
-
你能显示你的状态吗?
-
mapboxToggleLayers: { "someValue": true },
-
任意值在出现时将以相同的格式添加到此状态
标签: reactjs react-hooks reducers