【问题标题】:How to set initialState with createAEntityAdapter如何使用 createAEntityAdapter 设置 initialState
【发布时间】:2021-11-15 14:16:43
【问题描述】:

我有常量数据,我想设置初始状态。我正在使用 createEntityAdapter。我如何定义初始状态?

import { createSlice, createEntityAdapter } from "@reduxjs/toolkit";

export const cardAdaptor = createEntityAdapter();
const cardSlice = createSlice({
  name: "cards",
  initialState: {},
  reducers: {}
});
export default cardSlice.reducer;

【问题讨论】:

  • 常量数据是什么样的?你想得到什么?

标签: react-redux redux-toolkit


【解决方案1】:

实体适配器有一个getInitialState 函数,用于创建一个空的初始状态。如果您在没有值的情况下调用该函数,则初始状态是一个空数组ids 和一个空字典entities,即。

cardAdapter.getInitialState()

创造

{
    ids: [],
    entities: {}
}

您可以通过向getInitialState 传递参数来添加任意初始数据。您提供一个对象,这些属性将包含在您的状态的顶层。

cardAdapter.getInitialState({
    someProperty: 0,
    otherProperty: []
}));

创造

{
    ids: [],
    entities: {},
    someProperty: 0,
    otherProperty: []
}

也可以通过这种方式覆盖初始的idsentities 属性。除非您确定自己知道自己在做什么,否则我建议您不要这样做,因为您可能拥有没有实体的 id,反之亦然。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2021-11-01
    • 1970-01-01
    • 2018-03-31
    相关资源
    最近更新 更多