react-router-redux的"push"方法与react-router的"browserHistory"有什么区别?

Jyo*_*han 5 reactjs react-router react-router-redux

我试图react在用户从一个页面/路由导航到另一个页面/路由时更新历史记录.但是对于我应该使用什么方法来实现这个以及为什么而感到困惑

import { browserHistory } from 'react-router'
browserHistory.push('/bag')
Run Code Online (Sandbox Code Playgroud)

要么

import { routerMiddleware, push } from 'react-router-redux'
const middleware = routerMiddleware(browserHistory)
const store = createStore(
  reducers,
  applyMiddleware(middleware)
)

store.dispatch(push('/bag'))
Run Code Online (Sandbox Code Playgroud)

请帮忙.提前致谢 :)

Wil*_*Gfx 7

基本上,如果您了解使用redux和react-router-redux的原因:

store.dispatch(push('/bug')) 将导航状态保持在商店中,推送并导航到路线

同时

browserHistory.push('/bag') 只需推动并导航到路线.

从源代码本身

/**
*这些操作对应于历史API.
*关联的routerMiddleware将在它们到达
你的reducer 之前捕获这些事件,并将它们重新发布为历史记录中的匹配函数.*/

export const push = updateLocation('push')

我建议在尝试理解差异或工作原理时查看源代码.它有助于学习,也可以深入了解您正在使用的库中的最新情况:)