【问题标题】:Ngrx: How to select two or more properties changes using single selectorNgrx:如何使用单个选择器选择两个或多个属性更改
【发布时间】:2022-06-15 06:32:30
【问题描述】:

我有使用 NGRX 商店的反应式 Form Angular 应用程序。与其订阅整个状态,不如订阅一些字段更改,例如名字,城市。

我正在尝试选择FormNameCity 选择器,但始终订阅单个属性。

在选择器中尝试了 OR 和 AND 运算符条件,但未按预期工作。

如果更改的值之一应该在组件中订阅,如何使用单个选择器 selectFormNameCity 来实现 namecity

这是代码 stackblitz example

import { createFeatureSelector, createSelector } from \'@ngrx/store\';

export const selectForm = createFeatureSelector<any>(\'form\');
export const name = createSelector(selectForm, (state) => state.info.name);
export const city = createSelector(selectForm, (state) => state.info.city);

export const selectFormNameCity = createSelector(name, city, (name, city) => {
  return { name, city };
});

谢谢。

    标签: javascript angular ngrx


    【解决方案1】:

    我没有得到您的用例,但是如果您稍微更改选择器,它将起作用:

    export const selectFormNameCity = createSelector(name, city, (name, city) => {
      return {name, city};
    });
    

    它会给你下一个输出:

    {name: "vvvv", city: ""}
    {name: "vvvv", city: "123213"}
    {name: "44vvvv", city: "123213"}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      相关资源
      最近更新 更多