0

これは単なる質問です。私が正しいことをしているかどうかを再確認したいと思います。私はさまざまなフレームワークの時代から来ており、初期段階で悪い慣行を避けたいと思っています。

私はこのボイラープレートを使用しています: https://github.com/erikras/react-redux-universal-hot-example で、ES7 で書いています。

作成したもの: - 1 つのレデューサー: EarlyUser.js - 1 つのコンテナー: LandingPage.js - 1 つのコンポーネント: registrationForm.js

ランディングページには、次の方法でレデューサーのメソッドを含めています。

import { saveEmail, savePreferences, checkEmailExists } from 'redux/modules/earlyUser';

そして、いくつかのハンドルを宣言します

 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 でプロミスを処理するための正しい構文はありますか?

4

1 に答える 1