这只是一个问题,我很想仔细检查我是否做对了。我来自不同框架的年龄,我想在早期避免不良做法。
我正在使用这个样板:https ://github.com/erikras/react-redux-universal-hot-example 我正在用 ES7 编写。
我创建了: - 1 个减速器:earlyUser.js - 1 个容器:landingPage.js - 1 个组件:registrationForm.js
在landingPage 中,我以这种方式包含reducer 的方法:
从 'redux/modules/earlyUser' 导入 { saveEmail, savePreferences, checkEmailExists };
我声明了一些句柄
handleSubmitEmail(data) {
this.props.saveEmail(data);
}
handleSubmitPreferences(data) {
//some data manipulation
this.props.savePreferences(data);
}
在 JSX 部分,我只是将处理程序传递给我的组件:
<registrationForm submitEmail= {::this.handleSubmit} etc... >
现在在组件内部,我将表单提交链接到这个处理程序:
submitEmail() {
if (this.validateEmail(this.state.email)) {
this.props.submitEmailHandler(this.state);
}
}
现在我的问题是,我应该在哪里附加承诺返回的 .then 和 .catch ?理想情况下,我想在 component.js 中做类似的事情
this.props.submitEmailHandler(this.state).then( function emailRegisterCallback(){
// move to next step
}).catch( function errorHandler(error){
// there was an error
}
那是对的吗?
此外,是否有正确的语法来处理 ES7 中的承诺?