如何从action中更新redux简单路由器中的URL?

时间:2016-01-16 02:32:30

标签: redux react-router-redux

根据redux简单路由器文档,您可以从操作更新路由。我不知道如何在文档中这样做。有人有这方面的例子吗?

1 个答案:

答案 0 :(得分:0)

您可以将传递给根组件的history单例导入到操作中并直接对其进行操作,或者,如果您已安装路由器中间件,则可以使用{{1}提供的操作创建器}。

来自docs

  

如果我想通过Redux操作发出导航事件怎么办?

     

React Router提供历史的单例版本(browserHistory   和hashHistory)你可以从你的任何地方导入和使用   应用。但是,如果您更喜欢Redux样式操作,那么库   还提供了一组动作创建者和中间件来捕获   它们并将它们重定向到您的历史实例。

react-router-redux

以下actions are supported

import { routerMiddleware, push } from 'react-router-redux' // Apply the middleware to the store const middleware = routerMiddleware(browserHistory) const store = createStore( reducers, applyMiddleware(middleware) ) // Dispatch from anywhere like normal. store.dispatch(push('/foo')) push(location) replace(location) go(number) goBack()