質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

Q&A

解決済

1回答

1428閲覧

Redux,containerのコードの意味について

kazoogon

総合スコア281

Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

0グッド

0クリップ

投稿2017/07/17 01:26

Reduxを学習中で、あるcontainer部分のコードの意味を解読中ですが分からない部分があるのでお助けいただきたいです。詳細はコード内に書きました、よろしくお願いします。
(userのcsvファイルをアップロードするページです,またimport部分は省きました)

const mapDispatchToProps = dispatch => ({ onSubmit: async (files) => { const formData = new window.Data() //window openではないのか??? またこの動作はファイルをuploadするボタンを押したら新しいwindowがでてくる??なんのため?? if (files.length > 0) { formData.append('csv', files[0]) formData.append('name', files[0].name) return fetchApi(dispatch, { //情報保管してあるAPIにつなげる? method: 'post', url: 'csv-upload/users', data: Data, }) .then((response) => { //上にnew Promiseの記述はないが、.thenは使用可能?? if (response.status == 202) { Notification.error(I18n.t('csv_upload.validation_error')) dispatch(showCsvUploadErrors(response.data)) } else { Notification.success(I18n.t('csv_upload.upload_success')) dispatch(showCsvUploadErrors([])) } }) .catch((error) => { //tryがないがcatchだけで使用可能?? console.error(error) return error.errors }) } else { Notification.error(I18n.t('csv_upload.no_file_selected')) } } }) const mapStateToProps = state => ({ //のちのちcomponentに渡されてpropsで使用可能ということですね?? csvUploadErrors: state[moduleName].csvUploadErrors, fetching: state.common.fetching['/customers'] }) export default connect(mapStateToProps, mapDispatchToProps)(UsersCSVUploadForm)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

//window openではないのか??? またこの動作はファイルをuploadするボタンを押したら新しいwindowがでてくる??なんのため??

それは職場の人に聞いた方が良いと思います。

//上にnew Promiseの記述はないが、.thenは使用可能??

fetchApiメソッドがpromiseオブジェクトを返しているようなので、それに対して、then()で繋げている感じですね。

//tryがないがcatchだけで使用可能??

reject()でリターンされてきたErrorをcatchしているだけです。
Promise使う時、try catchでrejectでかえってきたエラーをcatchしませんよね?

//のちのちcomponentに渡されてpropsで使用可能ということですね??

そうです!

投稿2017/07/17 01:54

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kazoogon

2017/07/17 05:04

回答ありがとうございます。回答自体の意味はわかったのですが 「fetchApiメソッドがpromiseオブジェクトを返しているようなので、それに対して、then()で繋げている」 「reject()でリターンされてきたErrorをcatchしているだけです。 Promise使う時、try catchでrejectでかえってきたエラーをcatchしませんよね?」 の2つについてどのような根拠でこれがわかったか教えていただければ嬉しいです。(すみません勉強不足で汗) だんだんと[react-reduxにおいてのreactはとりあえずpropsで渡された値を表示してるだけわかっておけばokなんじゃねーか?]などとreduxの構造についてはわかってきました、おかげさまです。
退会済みユーザー

退会済みユーザー

2017/07/17 05:16

あくまでただの推測ですね。。 でも、then()で繋がることが出来るということは、promiseオブジェクトがその前のメソッド呼び出しの戻り値で返っていないと、then()は使えないので、普通は回答に書いたような感じになるかと思います。 ここはreduxとは関係ない話なので、promiseについて勉強してみるのが早いと思います。
kazoogon

2017/07/17 05:45

経験って、、、ことですね。  素早い回答ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問