用@redux/toolkit在哪里写可变逻辑和不可变逻辑?

Where to write mutable and where immutable logic with @redux/toolkit?

我遇到了与这个问题完全相同的问题 。使用此代码:

set(state, action) {
  const { id, value, field } = action.payload
  const range = state.ranges.find(r => r.id === id)
  range[field] = new Date(value) //action.payload.field can be either "start" or "end"
}

以上问题的答案是not put non-serializable values in state

这是否意味着在我的状态下我不能拥有像这样 { id, start, end } 的对象数组?如果是这样(我希望不是),我该如何存储它?

如果我不能存储它,否则我是否需要为这种情况编写不可变逻辑?

你完全可以让对象处于状态,Redux Toolkit 对 Immer 的使用允许你“改变”这些对象。

我在另一个问题中的回答是指出 Date 对象本身不是可序列化的,所以你不应该将它们保存在 Redux 状态。