在useEffect中调用调度吗?

时间:2020-04-27 12:48:17

标签: redux react-redux use-effect

目前,我很简单地在useEffect挂钩中调用它,而没有将它作为依赖项,因为我只希望它运行一次。但是,这给了React Hook useEffect has a missing dependency: 'dispatch'.我应该向依赖项添加派遣,还是对此有更好的做法?

  useEffect(() => {
    dispatch(handleGetUser());
  }, []);

1 个答案:

答案 0 :(得分:2)

在重新渲染之间,分发功能不会更改。 eslint警告不知道每个功能的作用以及是否会重新创建它,因此它会显示警告,提示用户是否错过了某些事情

在这种情况下,您可以安全地禁用警告,并且不将分派作为依赖项

  useEffect(() => {
    dispatch(handleGetUser());

    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, []);

即使将dispatch作为依赖项包含在内,您也不会看到副作用,因为除非公开它的库存在错误,否则dispatch不会改变