【发布时间】:2019-08-06 21:15:30
【问题描述】:
我正在使用 getState() 检索状态切片,以从事件处理程序中的状态过滤一些值(在调度操作并使用新状态切片更新存储之前)但是从 getState 更改结果似乎更改实际商店。
考虑以下几点:
const filterInPlace = (array, predicate) => {
let end = 0;
for (let i = 0; i < array.length; i++) {
const obj = array[i]
if (predicate(obj)) {
array[end++] = obj
}
}
array.length = end
}
//some event handler
...
const forDeletion = new Set([...ids])
let currentState = getState().home.lists
filterInPlace(currentState, obj => !forDeletion.has(obj.rowid))
dispatch(handleSelectLists(ids)) //Leads to an action and reducer
getState() 会改变存储吗?
【问题讨论】:
标签: reactjs redux react-redux redux-thunk