提交成功后关闭表单模式

Rah*_*dav 3 reactjs redux material-ui redux-saga formik

我正在使用Formik, Material-ui, Redux,并且Redux-saga 我在 material-ui 中有一个表单<Dialogue/>

在提交表单时,我触发提交请求操作,然后由传奇捕获。saga 进行 api 调用并调用成功操作。

模态状态isOpen在组件状态内

表单提交成功后,我需要隐藏模态。

我该如何处理?

注意:我正在使用 React Hooks

Amr*_*afa 5

我个人更喜欢将回调传递给操作。所以你的动作创建者变成了:

function confirmDelete(itemId, onSuccess) {
  return { type: ..., itemId, onSuccess)
}
Run Code Online (Sandbox Code Playgroud)

在你的传奇中,你基本上是call(action.onSuccess)在你成功完成了你需要的事情之后。

这种模式通常不是最佳实践,但我认为关闭模态是可以的。检查此 SO 问题以了解有关此模式的讨论:将回调传递给 redux 异步操作是否被认为是一种好习惯?