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)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/17 05:04
退会済みユーザー
2017/07/17 05:16
2017/07/17 05:45