使用终极版状态变量重定向

时间:2019-02-02 02:59:55

标签: javascript reactjs react-redux react-router-dom

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

0 个答案:

没有答案