我很陌生,我很反应和表达,很抱歉新问题。
在react-router v013.3中,我使用了以下配置和" this.context.router.transitionTo(payload.route);"切换路线,它工作正常。
但是,在react-router v1.0.0-rc1中,我已经尝试了两个" this.props.history.pushState(null,payload.route);"以及" replaceState",但他们不会渲染我的路线。
我不能使用该类,因为我必须以编程方式切换路由。
这表示我在我的快速配置中添加了一些代码(请参见下文):https://github.com/rackt/react-router/blob/master/docs/guides/basics/Histories.md#createbrowserhistory
我还添加了' historyApiFallback:true'到我的webpack dev服务器配置。
虽然通过console.log消息我看到历史记录正在接收路由更改请求,但我请求的路由不会呈现。
任何人都能看到我失踪的东西吗?
感谢!!!
// react-router v013.3
const AppRoutes = (
<Route path="/" handler={App}>
<DefaultRoute handler={Home} />
<Route name="myFieldMapping" handler={MyFieldMapping} />
<Route name="myValidation" handler={MyValidation} />
</Route>
);
Router.run(AppRoutes, Router.HashLocation, (Root) => {
React.render(<Root />, document.getElementById('content'));
});
// react-router v1.0.0-rc1
const myHistory = useBasename(createHistory)({
basename: '/myApp'
});
let unlisten = myHistory.listen(function (location) {
console.log('---...--- CALL TO history: ', location.pathname)
});
React.render((
<Router history={myHistory}>
<Route path="/" component={App} >
<IndexRoute component={Home} />
<Route path="myFieldMapping" component={MyFieldMapping} />
<Route path="myValidation" component={MyValidation} />
</Route>
</Router>
), document.getElementById('content'));
// express config
app.get('/myApp/*', function(request, response){
response.sendFile(path.resolve(__dirname, publicPath, 'index.html'))
});