pra*_*lli 4 filter typescript ngrx angular ngrx-entity
我正在尝试按属性过滤掉有效负载数据。
//reducer.ts
case MessagesActionTypes.LOAD_Message_SUCCESS: {
console.log('reducer='+
JSON.stringify(action.payload.Messages));//receiving data here
return adapter.addAll(action.payload.Messages, state);
}
export const getSelectedMessageId = (state: MessageState) => state.selectedMessageId;
// get the selectors
const { selectIds, selectEntities, selectAll, selectTotal } = adapter.getSelectors();
// select the array of Messages
export const selectAllMessages = selectAll;
Run Code Online (Sandbox Code Playgroud)
下面是选择器
// Selector.ts
export const selectHomeQueues = createSelector(
fromReducer.selectAllMessages,
(messages) => messages.filter(message => message.queue === 'HOME')
);
Run Code Online (Sandbox Code Playgroud)
我正在减速器中接收数据,但在运行时选择器中出现错误ERROR TypeError: Cannot read property 'map' of undefined
注意:我在任何地方都找不到任何有关 NGRX 实体选择器中过滤的示例。
我们如何过滤 NGRX 实体中的选择器?
我有完全相同的问题。您需要将选择器稍微更改为:
export const selectHomeQueues = createSelector(
selectAllMessages,
(messages) => messages.filter(message => message.queue === 'HOME')
);
Run Code Online (Sandbox Code Playgroud)
selectAllMessages您简单定义为的选择器在哪里:
export const selectAllMessages = createSelector(
fromReducer.selectAllMessages
);
Run Code Online (Sandbox Code Playgroud)
我们最初尝试执行此操作的方式是通过适配器,我怀疑我们在此过程中的某个地方犯了一个小错误或误解。
此问题是由于 Angular 或 Redux 版本升级而导致的。不确定数字。
| 归档时间: |
|
| 查看次数: |
8052 次 |
| 最近记录: |