angularjs - ngrx 参数选择函数

有没有办法将参数传递给 ngrx select 函数?

以下是我的用例:

我正在维护商店中的评论列表。

我写了一个组件代表一条评论。所以,一个 CommentComponent 知道组件对象的 id

每条评论都将具有 likedBy、reportedBy 等属性 在 UI 中,我使用 *ngFor 显示所有组件

现在我希望我的 CommentComponent 通过使用组件的 id 只订阅一个评论对象。

现在我正在订阅顶级组件中的所有评论,并将每个评论作为输入传递给 CommentCompoent。

当前的方法并不干净,因为 Angular 变化检测策略(即使我使用 onPush)必须为所有评论呈现 DOM,即使只有一个评论发生变化。

感谢任何我可以将评论 ID 传递给选择器函数的建议,以便每个 CommentComponent 只能订阅一个评论。

提前致谢, 苏达卡尔

最佳答案

是的,您可以将参数传递给 ngrx 选择器,您可以通过这种方式实现

从组件端

this.store.select(getComments(user_id));

从选择器端

export const getComments = (user_id) => createSelector(
  getData,
  (store) => store.comments 
);

https://stackoverflow.com/questions/46109044/

相关文章:

javascript - 如何在 Gatsby.js 中将时间戳附加到 markdown 前面的内容

scala - 为什么我不能在 Scala 中增加?

julia - 如何更改 Julia 中的最大递归深度?

css - 通过添加元素 React.js 的数量来更改 div 元素的高度

python - 无法将字节连接到 str(转换为 Python3)

apache-spark-sql - pySpark groupby 中的条件聚合

node.js - 如何在 Node.js 中设置文件编码

php - 为什么 Google_Service_Drive 文件的属性只返回 null?

python - Python 中的 str.join() 和 str().join() 有什么区别

amazon-web-services - aws s3 ls 递归 grep 扩展 '.mov'