在 redux 状态数组中设置特定索引

Setting specific index in redux state array

这基本上就是我想做的。问题是这不会更新状态。知道我错过了什么吗?

type Tree = Array<Element>;
type SetLayerTreeItem = { payload: Element };

const initialState: Tree = [];

const LayersTree = createSlice({
  name: 'LayersTree',
  initialState,
  reducers: {
    setLayerTreeItem(state, { payload }: SetLayerTreeItem) {
      state[payload.level] = payload; // Here's the problem
    },
  },
});

我最终这样做了:

setLayerTreeItem(state, { payload }: SetLayerTreeItem) {
  const newState = state.slice();
  newState[payload.level] = payload.element;
  return newState;
},