1

根据 redux simple router docs,您可以从操作更新路由。我在文档中看不到如何做到这一点。有没有人有这方面的例子?

4

1 回答 1

0

您可以将传递给根组件的历史单例导入到操作中并直接对其进行操作,或者,如果您已安装路由器中间件,则可以使用react-router-redux.

文档

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

React Router 提供单例版本的历史记录(browserHistory 和 hashHistory),您可以从应用程序的任何位置导入和使用它们。但是,如果您更喜欢 Redux 风格的动作,该库还提供一组动作创建者和一个中间件来捕获它们并将它们重定向到您的历史实例。

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() goForward()

于 2016-05-26T17:40:04.860 回答