【问题标题】:Angular - NgRx selector notifying about data updateAngular - NgRx 选择器通知数据更新
【发布时间】:2021-01-08 16:56:52
【问题描述】:

当我不关心更新的数据本身时,有没有办法编写某种“数据更新”选择器? 想象一个减速器:

const initialState: SomeReducer = {
  dataInQuestion: Array<SomeDto>,
  ...
}

然后一些 action -> effect -> action -> reducer 链将更新dataInQuestion,我想在不关心新数据的同时得到通知。我想出了这个,但只看一眼就必须承认它至少是有问题的,它违反了纯函数原则。

const selectDataInQuestion => createSelector(selectSometing, (state: SomeReducer) => state.dataInQuestion);
const getDataInQuestionUpdate => createSelector(selectDataInQuestion, () => Math.random()); 
// Math.random() - To ensure that new value is always returned :)

当然,我可以为dataInQuestion 使用选择器并省略任何赋值我只是好奇是否有办法这样做。或者,如果有一些最佳实践。

【问题讨论】:

    标签: angular typescript ngrx


    【解决方案1】:

    据我了解您的要求,可以归结为最近的操作,即触发减速器的操作。 因此,你可以只听这个动作(使用通过依赖注入提供的ActionsSubject)并做你的事情。

    【讨论】:

    • 我知道这个选项,但对我来说似乎有点奇怪。我有点认为这个动作主题只是效果。
    • 你为什么要这样做?
    • 我猜只是一个习惯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多