Immer 不支持在数组上设置非数字属性

Immer does not support setting non-numeric properties on arrays

我正在尝试使用从服务器获取的一组数据来更新一个状态。这是我的减速器:

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 传递的对象不是对象时,就会发生这种情况。确保 state 是一个对象。