2017-12-15 8 views
0

前もって書式設定(これについてはnewb)と愚かな質問(まだこのReactエコシステム全体のnewb)について謝っています。redux-formのSubmissionErrorを投げるとUncaughtが発生する(約束)

私は最近、Reduxのフォームを拾ってきた、それ以来、私は次のようにそれを使用しようとしてきた:

export const searchPermissions =() => { 
    return dispatch => { 
    Axios.get(`${URL}/findPermissions`) 
     .then(resp => { 
     console.log(resp.data); 
     dispatch({ type: PERMISSIONS_SEARCHED, payload: resp.data }); 
     }) 
     .catch(error => { 
     console.log(error); 
     throw new SubmissionError({ 
      _error: "Submission error!" 
     }); 
     }); 
    }; 
}; 

そして、私は不明なエラーを取得しておきます。

Reduxの形式のgithubのを検索、私は(私は正しくやったと思います)、今私はちょっと迷ってしまいましたreturn文を追加することによって解決されてしまったいくつかの同様の問題を見ました。

ご協力いただきありがとうございます。

EDIT: ユーザーがページに入るとすぐに3つのコンボボックスに表示するためのアクセス許可を取得しようとしています。私は

componentWillMount() { 
    this.props.searchPermissions(); 
    } 
    render() { 
    return (
     <div> 
     <LayoutGroupForm 
      onSubmit={this.props.addLayoutGroup} 
      loadPermissions={this.props.loadPermissions} 
      visualizationPermissions={this.props.visualizationPermissions} 
      detailPermissions={this.props.detailPermissions} 
      resetForm={this.props.resetForm} 
     /> 
     </div> 
    ); 
    } 
} 
const mapStateToProps = state => ({ 
    loadPermissions: state.layoutGroup.loadPermissions, 
    visualizationPermissions: state.layoutGroup.visualizationPermissions, 
    detailPermissions: state.layoutGroup.detailPermissions 
}); 
const mapDispatchToProps = dispatch => 
    bindActionCreators(
    { 
     searchPermissions, 
     addLayoutGroup, 
     resetForm 
    }, 
    dispatch 
); 

そして、私の減速に

次ています:

case PERMISSIONS_SEARCHED: 
     return { 
     ...state, 
     loadPermissions: action.payload.loadPermissions, 
     visualizationPermissions: action.payload.visualizationPermissions, 
     detailPermissions: action.payload.detailPermissions 
     }; 
+0

これはあなたが 'onSubmit'に渡すものですか?残りのコンポーネントはどこにありますか?ログにエラーまたはデータが出力されていますか?あなたの問題を診断するためにはさらに多くの情報が必要です。 –

+0

返信と申し訳ありませんが、これが愚かなことに終わった場合は、おかげで、 – Victor

答えて

0

Reduxのフォームでエラーとして来て、エラーを期待している私は、次のコードを持っているデータをフェッチするために使用されるコンポーネントで約束を拒否した。これを試してみてください:

export const searchPermissions =() => { 
    return dispatch => { 
    return Axios.get(`${URL}/findPermissions`) 
// ^^^^^^-------------------------------------- Actually return the promise! 
     .then(resp => { 
     console.log(resp.data); 
     dispatch({ type: PERMISSIONS_SEARCHED, payload: resp.data }); 
     }) 
     .catch(error => { 
     console.log(error); 
     return Promise.reject(new SubmissionError({ 
//  ^^^^^^^^^^^^^^^^^^^^^^------------------------ Return rejected promise 
      _error: "Submission error!" 
     })); 
     }); 
    }; 
}; 
+0

まだ未確定の約束=( – Victor

+0

)特定のアクションをディスパッチすることによって_errorを設定する方法はありますか? – Victor

+0

はい、 'stopSubmit()'](https://redux-form.com/7.2.0/docs/api/actioncreators.md/#-code-stopsubmit-form-string-errors-object-code-)。 –

関連する問題