将 react-router 与 redux-simple-router 一起使用时(可能会或可能不会导致问题),只要我在每个导航项链接上都有 require.ensure ,链接不会更改为活动状态,直到我点击单击链接后页面上的其他位置。
一步步:
- 加载页面;一切安好
- 单击a
<Link />
,视图发生变化;虽然,该链接尚未更新任何导航项目的活动状态 - 单击页面上的某处,例如正文,活动状态现在正确地位于当前导航项上,而前一个导航项则关闭
这在使用之前没有发生require.ensure
,也没有发生在我的生产服务器上,它有0.bundle.js
和bundle.js
. 它目前只发生在我的本地环境中,其中每个链接*.bundle.js
为每个视图创建一个新文件。
一些示例路线:
module.exports =
component: 'div'
childRoutes: [
path: '/'
onEnter: (nextState, replaceState) =>
if nextState.location.pathname == '/'
replaceState null, '/game'
component: Master
childRoutes: [
path: 'game'
getComponent: (location, cb) =>
require.ensure [], (require) =>
cb null, require './views/game'
,
path: 'video-policy'
getComponent: (location, cb) =>
require.ensure [], (require) =>
cb null, require './views/video-policy'
,
path: '*'
getComponent: (location, cb) =>
require.ensure [], (require) =>
cb null, require './views/404'
]
]
还有我的路由器:
render() { return (
<Provider store={store}>
<Router history={history} routes={routes} />
</Provider>
)}
在我的导航中,我有这个:
export default connect(
state => ({ state: state })
)(HeaderNav);