如何使用 getSelectors.selectAll 记住 getSelectors

问题描述

我遇到了关于 reselect + createEntityAdapter 的问题。

我正在使用 createEntityAdapter,就像这样。

export const exampleAdapter = createEntityAdapter<IExampleType>();

并将其用作选择器。

export const selector = messagesAdapter.getSelectors<IRootState>(
  (state) => state.example
);

我想在另一个选择器中使用选择器。 但我对此没有概念。

我试过这个代码


export const getDatasSelector = (id: number) => (state: IRootState) => {
  return selector.selectAll(state).filter((data) => {
    console.log("flitering...")
    return data.xxxId === id
  });
}
const Component = () => {
  const datas = useSelector(getDataSelector(2))
  
  // render 

}

但是,这不能正常工作。 每次更新任何状态时,都会渲染此组件。

你有没有办法让 getDatasSelector(使用选择器)被记住。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)