dispatch clear action 的类型是什么?
What is the type of dispatch clear action?
这是当前代码:
useEffect(() => {
dispatch(fetchMovieDetails(movieId!));
return () => dispatch(fetchMovieDetails(movieId!, "clear"));
}, [dispatch, movieId]);
问题是这段代码给我一个很长的错误:
- '() 类型的参数 => () => (dispatch: Dispatch) => Promise
' 不可分配给 'EffectCallback'. 类型的参数
- Type '() => (dispatch: Dispatch) => Promise
' 不可分配给类型 'void | Destructor'.
- Type '() => (dispatch: Dispatch) => Promise
' 不可分配给类型 'Destructor'.
- 输入'(dispatch: Dispatch) => Promise
' 不可分配给类型 'void | { [UNDEFINED_VOID_ONLY]: never; }'.
- 属性 '[UNDEFINED_VOID_ONLY]' 在类型 '(dispatch: Dispatch) => Promise
' 但在类型 '{ [UNDEFINED_VOID_ONLY] 中是必需的:从不; }'.ts(2345)
我假设 TypeScript 要求我定义一个 return 类型。那我该怎么办呢?
return () => dispatch(fetchMovieDetails(movieId!, "clear"));
Typescript 指出清理函数不应该 return 任何东西,但是使用箭头函数 shorthand,你 returning 任何调度 returning.
您可以通过在函数中添加大括号来解决此问题,这样就不再存在隐式 return:
return () => { dispatch(fetchMovieDetails(movieId!, "clear")); };
这是当前代码:
useEffect(() => {
dispatch(fetchMovieDetails(movieId!));
return () => dispatch(fetchMovieDetails(movieId!, "clear"));
}, [dispatch, movieId]);
问题是这段代码给我一个很长的错误:
- '() 类型的参数 => () => (dispatch: Dispatch) => Promise
' 不可分配给 'EffectCallback'. 类型的参数
- Type '() => (dispatch: Dispatch) => Promise
' 不可分配给类型 'void | Destructor'. - Type '() => (dispatch: Dispatch) => Promise
' 不可分配给类型 'Destructor'. - 输入'(dispatch: Dispatch) => Promise
' 不可分配给类型 'void | { [UNDEFINED_VOID_ONLY]: never; }'. - 属性 '[UNDEFINED_VOID_ONLY]' 在类型 '(dispatch: Dispatch) => Promise
' 但在类型 '{ [UNDEFINED_VOID_ONLY] 中是必需的:从不; }'.ts(2345)
我假设 TypeScript 要求我定义一个 return 类型。那我该怎么办呢?
return () => dispatch(fetchMovieDetails(movieId!, "clear"));
Typescript 指出清理函数不应该 return 任何东西,但是使用箭头函数 shorthand,你 returning 任何调度 returning.
您可以通过在函数中添加大括号来解决此问题,这样就不再存在隐式 return:
return () => { dispatch(fetchMovieDetails(movieId!, "clear")); };