我可以使用redux-form自动调用handleSubmit来响应状态更改吗?

时间:2017-03-03 13:15:30

标签: reactjs redux redux-form

我想为我的redux-form提供两部分提交策略。首先,用户在调用验证方法的表单上调用submit。响应可能会有一些警告。我希望用户看到警告(如果有的话),并可选择继续另一个提交,这将是对服务器rest api的真正POST。

如果没有警告,我希望该组件自动提交。我试图从componentWillReceiveProps方法中解决这个问题。

问题是nextProps.handleSubmit(this.doSubmit2of2);没有调用this.doSubmit2of2。执行只是跨过该调用。

componentWillReceiveProps(nextProps) {        

    //boolean that indicates validation just occured against the server
    if (nextProps.storeWithValidation) {

        //the user hit submit, first it was validated, if no issues, go ahead and try to create
        if (nextProps.storeValidationOk) {
            //fire off create store
            nextProps.handleSubmit(this.doSubmit2of2);
        }
        else {
            //there are validation issues of some kind, let the user see them
            //do nothing here and let the render method do its thing with the props
        }
    }
}

我在这里找到了讨论:https://github.com/erikras/redux-form/issues/67,但在我的情况下,提交是作为特定服务器响应的结果而发生的。此外,我意识到还有redux-form的验证功能。我是否在预期的框架惯例之外设计得太远了?

另外,我已经考虑过重新设计我的服务器api,但是我想知道在服务器响应后自动重新提交的当前方法我能走多远。

1 个答案:

答案 0 :(得分:1)

根据我的理解,您希望在服务器响应后远程提交表单。您可以按照example from the docs创建远程提交。然后,只要您想要多次,就可以dispatch(submit('yourFormName'))