Я учусь реагировать и заинтересован в том, чтобы узнать, как лучше всего использовать Redirect
в моем приложении реакции.Рассмотрим ситуацию, когда
Маршрут /dashboard/books
показывает все книги для вошедшего в систему пользователя.Для создания книги маршрут /dashboard/books/create
представляет форму.
Я хочу Redirect
вернуться к /dashboard/books
, когда книга будет успешно создана после показа Alert
.
Редуктор
const state = {
bookCreated: false
}
О чем я думаю?
Я думаю об использовании этой переменной состояния для условного перенаправленияиз моего NewBook
компонента.
NewBook.js
render() {
if(this.props.bookCreated) {
return <Redirect to="/dashboard/books" />
}else {
return <CreateBookForm />
}
}
Как только книга создана, я могу отправить действие, чтобы установить для переменной bookCreated
значение true, чтобы я мог Redirect
.
// actions.js
dispatch({type: 'BOOK_CREATED'})
// reducer.js
return {...state, bookCreated: true}
Если я использую этот подход, мне придется отправить другое действие, чтобы пометить bookCreated
как false
, чтобы снова получить доступ к моему NewBook
компоненту.
Сводка
Может кто-нибудь объяснить, хорошо ли это dispatch
другое действие просто для изменения одной переменной состояния?Или какой другой подход я могу использовать, чтобы представить Alert
, а затем перенаправить.