我正在尝试使用从服务器获取的一组数据来更新一段状态。这是我的 reducer :
const schoolsDataReducer = (state = { data: [] }, action) =>
produce(state, draft => {
switch (action.type) {
case SET_INITIAL__DATA:
draft.data = [...action.payload.data]
break
}
})
我收到此错误:
"Immer does not support setting non-numeric properties on arrays: data"
我应该如何存储对象数组?
状态中的数组被认为是不好的做法吗?
我错过了什么吗?
最佳答案
当您为状态传递一些不是对象的东西
时,就会发生这种情况。确保 state
是一个对象。
关于javascript - Immer 不支持在数组上设置非数字属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53091374/