У меня есть форма поддержки, которая доставляет сообщение об успешности из 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 на состояние очистки после того, как действие выполнено, но это будет пустым состояние, и предупреждение не будет отображаться вообще.
Как я могу уведомить пользователя только один раз?
Вы можете отправить действие СБРОС на 'componentWillMount' или' componentWillUnmount'. –
Вы можете добавить флаг в свое состояние, которое сообщит вам, было ли оно уже «сообщено» (сообщение) и зависит от этого, показать его или нет;) – MariuszJasinski
добавление флагов будет работать, если пользователю разрешено отправлять форму только один раз. Что делать, если пользователь хочет подать более одного раза? то этот флаг создавал бы сложности. –