Tengo una aplicación Form Angular reactiva que usa la tienda NGRX. En lugar de suscribirse a todo el estado, desea suscribirse a algunos cambios de campos, por ejemplo, nombre, ciudad.
Estoy tratando de seleccionar el selector FormNameCity pero siempre se suscribe a propiedades individuales.
Probé la condición del operador OR y AND en el selector, pero no funcionó como se esperaba.
Cómo lograr el uso del selector único selectFormNameCity para el name y la city si uno de los valores modificados debe suscribirse en el componente.
Aquí está el ejemplo de stackblitz de código.
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 }; });Gracias.
No obtuve su caso de uso, pero funcionará si cambia un poco el selector:
export const selectFormNameCity = createSelector(name, city, (name, city) => { return {name, city}; });Y te dará la siguiente salida:
{name: "vvvv", city: ""} {name: "vvvv", city: "123213"} {name: "44vvvv", city: "123213"}