私は、送信後にAPIから成功メッセージを配信するサポートフォームを用意しています。フォームコンポーネントクラスでは、私はmapStateToProps()を取得し、その値をレデューサーから取得します。状態に応じてReact-Reduxで通知を処理する方法は?
function mapStateToProps(state) {
return { contact_form: state.contact_form.all}
}
し、ユーザーに通知を表示するために、私は
if(this.props.contact_form.data) {
notify_banner(" Your request is submitted successfully.","success",5000);
}
を行うこの方法の問題点は、状態が全くクリアされないということです。したがって、ユーザーがサポートフォームページにアクセスするたびに、状態がまだ保持されているときにこのアラートが表示されます。
アクションが実行された後、クリア状態でこのthreadを見ましたが、これは状態を空にしてアラートを表示しません。
どのようにしてユーザーに一度通知すればよいですか?
RESETアクションを 'componentWillMount'または' componentWillUnmount'にディスパッチできます。 –
あなたの状態にフラグを付け加えることができます。これは、既に "知らされていて(メッセージによる)表示されているかどうかを表示します。" – MariuszJasinski
フラグを追加すると、ユーザーはフォームを送信することができます一度。ユーザーが複数回提出したい場合はどうなりますか?このフラグは問題を引き起こします。 –