angular - NgRx 选择器 - 冷或热可观察
解决方案
选择器是纯函数,不是可观察的。
您可能在询问select
运算符或功能。
this.store.pipe(select(...)) // or this.store.select(...)
这基本上只是
this.store.pipe(
map(...),
distinctUntilChanged()
)
map
并且distinctUntilChanged
不要真正使可观察到的热或冷。他们仅在订阅后才订阅其源,因此只有在您订阅时数据才会流经它们。但是,如果源(例如商店)在您订阅(即热)之前从生产者那里收到项目,您将不会收到它们。
因此订阅this.store.pipe(select(...))
不会告诉商店开始产生值,商店将在此之前发出值,因为它正在积极地听它的生产者(减速器和动作),但select
不会听商店并且没有数据会流过它,除非你订阅。
推荐阅读
- mysql - 如何排除在同一 start_dt 上的数据中创建循环的记录?
- android - 无法使用 react-native-navigation 构建 react-native
- c# - 接口作为列表参数c#中的参数
- c# - 如何在文本框得分为 5 后启用按钮?
- php - 我更新了我的 Laravel 6 应用程序密钥,现在登录返回 419 错误,尽管 csrf 有效
- python - Pandas groupby agg 用列标题的副本填满表格
- javascript - Node rest API: put request is not updating the request data
- r - 计算区域经济增长序列,即。四个国家的增长系列放在一起
- swift - .childAdded 与 queryLimited 复制数据时 .childMoved 只是假设被触发
- selenium-webdriver - how to test window.status variable