我学习反应,并想知道什么是对的最好办法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
然后重定向。