可以在函数或类中使用“useDispatch”吗?

ash*_*sut 3 reactjs redux react-redux

可以在 a或 auseDispatch内使用 hook吗?我不是在谈论功能或类组件。我想从函数/类中调度状态更改。functionclass

// Example: utils.ts

export function foo(){
  const bar = getBar();
  const dispatch = useDispatch();
  dispatch(addBar(bar))
}
Run Code Online (Sandbox Code Playgroud)

phr*_*hry 6

不可以,以use钩子开头的东西只能用在函数组件中。

如果您想从函数访问调度,请执行以下操作之一

  • 将函数写为 thunk
  • 将调度作为参数传递
  • 导入您的商店并致电store.dispatch