0

我已经看到很多关于为什么你不应该将 ReactuseCallback与空的依赖列表一起使用的描述(这在逻辑上是有意义的),但我一直在试图弄清楚将它与redux-toolkit一起使用时是否有性能提升,当依赖列表包含 RT 对象时。(该应用程序对于一个用户来说已经足够高效,没有明显的差异,所以我希望总体上做“正确的事情”。)

一个例子:

export const HomeSettings = () => {
  // redux-toolkit
  const { data, error, isLoading } = useGetUserQuery();
  const [updateUser] = useUpdateUserMutation();

  //useCallback providing an actual optimization here?
  const changeDataFilterOption = useCallback(
    (option: string) => {
      const someObj = someFunc(option, data);
      updateUser(someObj);
    },
    [data, updateUser]
  );

  //useMemo optimizing anything here?
  const itemList = useMemo(() => getListOfThings(data), [data]);

  if (isLoading) {
    return <LoadingMessage />;
  }
  if (error) {
    return <ErrorLoadingDataMessage />;
  }

  return (
    <div onClick={changeDataFilterOption}>
      onClick is silly here, just illustrating the point
      <div>{itemList}</div>
   </div>
  );
}

以这种方式使用redux-toolkit ,记忆化我的回调和变量有什​​么好处吗?

4

0 回答 0