ngrx参数选择功能

use*_*993 0 angularjs ngrx ngrx-store-4.0

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

以下是我的用例:

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

我写了一个组件来代表一个评论.因此,一个CommentComponent知道组件对象的id

每条评论都会有像LikeBy,reportedBy,...等属性.在UI中,我使用*ngFor显示所有组件

现在我希望我的CommentComponent只使用组件的id订阅一个注释对象.

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

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

感谢我可以将注释id传递给选择器函数的任何建议,以便每个CommentComponent只能订阅一个注释.

在此先感谢Sudhakar

小智 5

是的,您可以将参数传递给ngrx选择器,您可以这样做

从组件方面

this.store.select(getComments(user_id));
Run Code Online (Sandbox Code Playgroud)

从选择器方面

export const getComments = (user_id) => createSelector(
  getData,
  (store) => store.comments 
);
Run Code Online (Sandbox Code Playgroud)