我想知道是否可以在路由配置对象中使用“indexRedirect”(所以不使用JSX)。
我尝试没有成功,所以我认为目前不支持此功能,但后来我的问题(https://github.com/reactjs/react-router/issues/3150)被关闭而没有发表评论,所以我仍然不知道是不是因为该功能是已经存在,但我滥用它,或者因为这是一个不需要的功能。
提前致谢。 :)
答案 0 :(得分:2)
如in the docs所述,使用普通配置对象的indexRedirect等效于此
const routes = [{
path: '/',
component: App,
indexRoute: { onEnter: (nextState, replace) => replace('/welcome') },
childRoutes: [
{ path: 'welcome', component: Welcome },
{ path: 'about', component: About }
]
}]
答案 1 :(得分:0)
使用普通路由将它配置为更低级别的API,并且路由对象中没有特殊的redirect
或indexRedirect
密钥。相反,您可以使用onEnter
来完成重定向。方法如下:
import React from 'react'
import { render } from 'react-dom';
import { Router, browserHistory } from 'react-router'
const Home = () => <h3>Home</h3>
const About = () => <h3>About</h3>
const routes = [{
path: '/',
component: Home,
onEnter: (nextState, replace) => replace('/about')
}, {
path: '/about',
component: About
}]
render(
<Router history={browserHistory} routes={routes} />,
document.getElementById('root')
);
修改:也将此添加到docs。
答案 2 :(得分:0)
我会欣赏与JGX相同的事情:为这种重定向工作相对路径