我没有在网上找到任何答案,基本上我希望应用程序自动从我的路径根目录(/)重定向到'帖子'。因此www.app.com/user/1
变为www.app.com/user/1/posts
我尝试使用Redirect,但它实际上什么也没做。
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={HomePage}></IndexRoute>
<Route path="user/:id" component={UserPage}>
<Route path="tracks" component={UserPosts}></Route>
<Redirect from="/" to="posts"/>
</Route>
</Route>
</Router>
尝试将Redirect组件放在上面,但仍然无法正常工作。有什么想法吗?
答案 0 :(得分:4)
我们在项目中使用的解决方案基于IndexRoute
:
<IndexRoute onEnter={redirectToMainPage} />
redirectToMainPage
定义为:
const redirectToMainPage = (nextState, replace, callback) => {
replace(null, '/firstPage');
if (callback) {
callback();
}
};
这将允许动态选择重定向。
此外,您可以使用IndexRedirect
:
<IndexRedirect to="/firstPage" />
我认为如果你从<Redirect>
中的/
开始,from
采用绝对路径,而且一般来说,对于空路径来说,它不太可靠。