Estou trabalhando com sinais angulares e gerenciamento de estado NGXS, e estou tentando criar um sinal computado que seja atualizado quando meu sinal de entrada muda e quando o armazenamento é atualizado.
Eu tenho um seletor preguiçoso:
static searchById = (id: number) => createSelector(
[ActiveDashboardSelectors.getSlices.searches],
searches => searches.find(search => search.id === id)
);
No meu componente, tenho um sinal de entrada para o searchId:
searchId = input.required<number>();
Quero criar um sinal computado que reaja tanto às mudanças de searchId quanto às atualizações de store. Inicialmente, tentei isto:
public search = computed(() => select(ActiveDashboardSelectors.searchById(this.searchId())));
No entanto, isso resulta em um Signal aninhado ( Signal<Signal<Search>>
). Qual é a melhor maneira de escrever um sinal computado que reaja tanto ao meu sinal de entrada searchId quanto às atualizações de estado do NGXS?
Se for um sinal de um sinal, execute o sinal interno para obter o valor real, de modo que seja um sinal comum.
Como há dois sinais dentro, ambos serão avaliados quando qualquer um deles mudar.
Substituído
select
porthis._store.select
para evitar erros de injeção.