问题标签 [createentityadapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
344 浏览

redux-toolkit - Redux-toolkit createEntityAdapter

以下代码按预期工作。使用 createEntityAdapter 填充状态。

但是,随着承诺的履行,我还想将状态的“状态”属性更新为“空闲”。

当我将已完成的案例更改为:

当我添加一个参数时,upsertMany

我收到错误:可能未处理的 Promise Rejection (id: 0)

除了如何使它工作的问题,我可以再问一个问题吗?在第一个代码片段中(那个有效的):

我知道 addCase 有两个参数:动作类型/创建者(fetchUsers.fulfilled 是这里的动作创建者)和一个减速器(在这种情况下是 usersAdapter.upsertMany)。这里 fetchUsers 返回对象,但是usersAdapter.upsertMany 如何知道要插入/更新什么作为有效负载?那里没有参数(例如usersAdapter.upsertMany(action.payload)。在所有其他需要一些有效负载的reducer中,总是有一个参数(状态,动作),例如。

0 投票
2 回答
166 浏览

redux - 嵌套数据规范化 createEntityAdapter

我正在尝试规范化以下结构的数据数组Array<Application>。使用createEntityAdapter.

在使用 a 获取数据createAsyncThunk并返回它们之后,我确实将它们设置为extraReducers

Redux DevTools中,我可以看到数据如下所示:

问题: 数据未完全标准化。如何规范化组、选民和用户对象?

以下是接口:

0 投票
0 回答
38 浏览

typescript - 如何在合并对象中为 createEntityAdapter 对象的 getInitialState 键入属性?

我想用 FetchingStatus 类型输入状态。如何实施?

这是 getInitialState 的签名:

0 投票
1 回答
42 浏览

angular - ngrx EntityState.ids.includes() 需要类型为 never 的参数

我有一个带有 ngrx 状态管理的 Ionic Angular 项目。这是我的状态定义:

...

当满足几个特定条件时,我想对状态进行一些更改。首先,我需要检查具有特定 id 的实体是否存储在EntityState.

这是reducer中发生错误的代码:

includes()函数由于某种原因需要一个never类型参数,我不明白为什么。这是我得到的错误:

错误

0 投票
0 回答
44 浏览

redux - RTK createEntityAdapter updateMany 不更新布尔属性

我正在使用 RTK 创建实体,createEntityAdapter在其中我有一种方法可以添加一些实体并删除一些实体。这是通过将属性设置为trueor来实现的false

这不行!但是,如果我将isFriend属性设置为true,则可以!我在这里想念什么?

0 投票
1 回答
37 浏览

javascript - React redux-toolkit createEntityAdapter setAll usage

I retrieve an array from database and set it to my slice.

Users change the order with a user interface. When they change the order of the objects reorder reducer runs. It is a simple function which changes the positions of two objects inside array. Then boardAdapter.setAll sets the whole data.

Actually it works properly, but i realized an odd behaviour when all chars of id field are numbers as below. (e.g. id: '1' or id: '1234')

This time reordering process works again properly but when it comes to returning that 'ordered' data and boardAdapter.setAll step, i see that ids being updated but entities still remain same.

Before reordering / After reordering

enter image description here

I appreciate if anyone knows the reason. Thank you for your support.

0 投票
1 回答
49 浏览

reactjs - ReduxToolikt 实体适配器问题:如何定义更新的 selectId 类型?

我正在学习如何在一个工作示例中使用 createEntityAdapter,但我无法selectId正确解析 for Update 函数。

工作沙箱:https ://codesandbox.io/s/createentityadapter-demo-forked-5rvl4

entityAdapter 被初始化为:

添加值可以正常工作:

然而 updateOne 在 bookId 上给出了类型错误:

TS错误:

(property) bookId: number 没有重载匹配这个调用。重载 1 of 2,“(状态:EntityState,更新:更新):EntityState”,给出了以下错误。'{ bookId: number; 类型的参数 更改:{标题:字符串;}; }' 不可分配给“更新”类型的参数。对象字面量只能指定已知属性,并且“更新”类型中不存在“bookId”。重载 2 of 2, '(state: EntityState, update: { payload: Update; type: string; }): EntityState',给出以下错误。'{ bookId: number; 类型的参数 更改:{标题:字符串;}; }' 不可分配给类型为 '{ payload: Update; 的参数。类型:字符串;}'。对象字面量只能指定已知属性,并且类型 '{ payload: Update; 中不存在 'bookId' 类型:字符串;}'.ts(2769)

为什么当我明确定义bookId为我的选择 ID 时会看到此错误?

0 投票
1 回答
399 浏览

javascript - Redux Toolkit createEntityAdapter:如何获取适配器的当前状态?

我看到 TS 类型错误试图将状态传递给 entityAdapter CRUD 函数

实时沙箱(注释掉错误的行):

https://codesandbox.io/s/createentityadapter-demo-5rvl4

创建书籍适配器

...创建切片并配置存储

...调度按预期工作

但是当我检索存储状态并尝试在对adapter.addOne的命令式调用中使用它时出现错误(即不通过reducer)

storeState 的 console.log 看起来像一个有效的对象...

但是这条线(注释掉)

导致 TS 错误:

我不明白为什么在我直接通过商店时会出现不匹配。

我已经在 J​​S 中尝试过这个,当然没有类型问题,它可以正常工作。那么我的问题是:如果不是 store.getState() 的结果,那么在使用 TS 时传递给 CRUD 函数的正确状态对象是什么?

0 投票
1 回答
20 浏览

laravel - 将用户保存到数据库后,RTK createEntityAdapter 未获取列表中的关系数据

我有一个使用 RTK createEntityAdapter 从数据库获取数据的用户列表。

获取用户列表的API函数代码

在上面的代码中,通过使用 RTK createEntityAdapter 在响应应用程序中获取用户和角色并显示列表

userSlice.js

用户/index.js

创建.js

当我使用 saveUser createEntityAdapter 添加新用户时,没有获取关系数据“角色”并出现错误

在此处输入图像描述