React Hook useCallback 缺少依赖项。包括它或删除依赖数组 react-hooks/exhaustive-deps

Sli*_*lim 5 reactjs react-hooks

useEffect在我的组件中使用以执行异步函数。

 useEffect(() => {
    scoreRequest(answers);
  }, [answers]);
Run Code Online (Sandbox Code Playgroud)

然后我收到这个警告:

React Hook useCallback has a missing dependency: 'scoreRequest'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

Run Code Online (Sandbox Code Playgroud)

我用useCallback来避免这个警告:

const getScore = useCallback(() => {
  scoreRequest(answers);
  }, [answers]);

  useEffect(() => {
    scoreRequest(answers);
  }, [answers]);

Run Code Online (Sandbox Code Playgroud)

但仍然得到同样的错误。但是,我发现了一个类似的问题,答案中提到了将函数声明为 useEffect 或者我可以禁用该规则。scoreRequest()在另一个文件中声明的函数,我不想将它与我的组件混合使用。

export const scoreRequest = (answers: IAnswer[]): ThunkAction<void, AppState, null, Action<string>> => {
  return async (dispatch: Dispatch) => {
    dispatch(startScoreRequest());
    getScoreApi(answers).then((response: AxiosResponse) => {
      const { data } = response;
      const answer = {
        scoreLabel: data.message,
        userScore: data.result.userScore,
        totalScore: data.result.totalScore,
        emoji: data.result.emoji,
        scoreLabelColor: data.result.scoreLabelColor
      };
      dispatch(successScore(answer));
    }, (error: AxiosError) => {
      let errorMessage = "Internal Server Error";
      if (error.response) {
        errorMessage = error.response.data.error;
      }
      dispatch(failScore(errorMessage));
      dispatch(errorAlert(errorMessage));
    });
  };
};
Run Code Online (Sandbox Code Playgroud)

是否有解决此警告的解决方案?