ngrx 选择器 vs. rxjs 操作符

ngrx selector vs. rxjs operator

选择数据的前后选项有什么区别和advantages/disadvantages?什么时候使用哪个选项?

1) 选项

getDataById= (id) => createSelector(
  getAllMyData,
   data => data.find(d => d.id === id)
);

store.pipe(select(getDataById(myId)));

2) 选项

store.pipe(select(getAllDataMyData)).find(d => d.id === myId)

选项 1 的好处是:

  • 创建的选择器可重复使用。应用程序中任何位置的任何组件都可以使用创建的选择器而无需重复其特定代码。

  • 创建的选择器是封装的(假设你有它在一个单独的文件中)。组件不需要知道如何访问商店中的特定数据。如果您以后必须重新安排商店(例如,以不同方式分解状态),您只需修改选择器... 不是任何组件。

这里有更多的摘要: