我正在尝试实施https://www.youtube.com/watch?v=5gl3cCB_26M上描述的方法 ,其中所有Redux动作都只是普通对象(按原样),API调用由中间件完成。
这样一来,已分派的动作将不再受到重击,并且不会返回Promise。因此,我将无法在提交处理程序中使用Formik setSubmitting(将isSubmitting标记设置为false),就像Formik文档中的代码示例以及我发现的其他教程一样。
我已经通过某种丑陋的方式解决了该问题,并保存了setSubmitting稍后运行它的参考componentDidUpdate:
import React, { Component } from 'react'
import { Redirect } from 'react-router-dom'
import LoginForm from 'path/to/LoginForm'
import validationSchema from 'path/to/LoginForm/validationSchema'
import { login } from 'path/to/actionCreators'
const initialValues = {
email: '',
password: '',
}
class LoginPage extends Component {
componentDidUpdate() {
const { auth } = this.props
if (!auth.isProcessing && this.setSubmitting) {
this.setSubmitting(false)
}
}
onSubmit = (values, { setSubmitting …Run Code Online (Sandbox Code Playgroud)