我有恒定的数据,我想设置初始状态。我正在使用createEntityAdapter。如何定义initialState
import { createSlice, createEntityAdapter } from "@reduxjs/toolkit";
export const cardAdaptor = createEntityAdapter();
const cardSlice = createSlice({
name: "cards",
initialState: {},
reducers: {}
});
export default cardSlice.reducer;
实体适配器有一个getInitialState
函数,它用来创建一个空的初始状态。如果调用该函数时没有值,则初始状态为ids
的空数组和entities
的空字典,即
cardAdapter.getInitialState()
创建
{
ids: [],
entities: {}
}
您可以通过向getInitialState
传递参数来添加任意初始数据。您提供一个对象,这些属性将包含在您的状态的顶层。
cardAdapter.getInitialState({
someProperty: 0,
otherProperty: []
}));
创建
{
ids: [],
entities: {},
someProperty: 0,
otherProperty: []
}
也可以用这种方式覆盖初始的ids
和entities
属性。我建议不要这样做,除非你确定你知道你在做什么,因为你可能有没有实体的id,反之亦然。