在useEffect中调用dispatch?

Hey*_*388 2 redux react-redux use-effect

目前,我只是在 useEffect 挂钩内调用它,而不将其作为依赖项,因为我只希望它运行一次。然而,这给出了React Hook useEffect has a missing dependency: 'dispatch'.我应该向依赖项添加调度还是有更好的实践?

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

Run Code Online (Sandbox Code Playgroud)

Shu*_*tri 5

调度函数在重新渲染之间不会改变。eslint 警告不知道每个函数的作用以及是否会重新创建它,因此它会显示警告以提示用户是否错过了某些内容

在这种情况下,您可以安全地禁用警告,并且不将调度包含为依赖项

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

    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, []);
Run Code Online (Sandbox Code Playgroud)

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