如何阻止 useSelector 多次调用

时间:2021-07-03 07:55:00

标签: reactjs react-redux

我有一个像下面这样的组件 -

const MyComponent = () => {
  const bankingAccounts = useSelector(state => state.dogs);

  useEffect(() => {
    console.log(dogs);
  }, [dogs]);

  return <div>Demo</div>;
};

这里的狗返回一个对象数组。我的应用程序中还有一些其他事情正在更新商店中 dog 的某些属性,并导致重新调用上述 useSelector。

我曾尝试在 useSelector 中传递自定义相等函数,但没有成功。

useSelector(state, areEqual)

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果您不想要反应性,那么您可以使用 useStore [只会返回当前状态] 而不是 useSelector() [每次状态更新时都会调用。]

const { getState  } = useStore()
const bankingAccounts = getState().dogs;