reduxForm
ホップのisSubmitting
セレクタは絶対に使用する必要はありません。 reduxForm
ホックはsubmitting
小道具を通過し、フォームが送信しているかどうかを確認するために使用できます。しかし、還元型はいつ提出するのかを知る必要があります。 onSubmit
がPromise以外の値を返した場合、submitting
小道具は常にfalse
になりますが、redux-formは送信が完了したときに通知する方法がありませんが、onSubmit
が(@Sreeragh ARのように)約束が解決されるか拒否されるまでsubmitting
propをtrueに設定します。言っ
は、注意すべき何か他のものがあります:あなたはmapStateToProps
内isSubmitting
セレクタの作成者を使用している、これは本当に悪いです。これにより、各再レンダリングのセレクタが作成されます。これを行う正しい方法は、createMapStateToProps
関数を使用することです。
const createMapStateToProps =()=> {
const isSubmittingSelector = isSubmitting('CreateNewAssignmentForm');
return (state, props) => {
const firstTemplate = _.first(props.templates.toList().toJS());
const course = props.courses.getIn([0, 'id']);
let values = { submitting: isSubmittingSelector(state) };
if (firstTemplate === undefined) {
return values;
}
if (firstTemplate) {
values = {
course,
template: firstTemplate,
submitting: isSubmittingSelector(state),
initialValues: {
template: firstTemplate.id,
wordCount: firstTemplate.essay_wordcount,
timezone: momentTimezone.tz.guess(),
label: 'TRANSPARENT',
},
};
}
return values;
}
}
export default connect(createMapStateToProps())(
reduxForm({
form: 'CreateNewAssignmentForm',
destroyOnUnmount: false,
shouldAsyncValidate,
shouldValidate,
})(CreateNewAssignmentForm),
);
こんにちは!あなたは 'handleSubmit'関数を表示できますか? –
submittingフラグは、onSubmitがPromiseを返す場合にのみ機能し、redux-formは開始時と終了時を追跡できます。 https://github.com/erikras/redux-form/issues/1238 –