Reactjs 使用react路由器重定向
我有以下路由配置:Reactjs 使用react路由器重定向,reactjs,react-router,Reactjs,React Router,我有以下路由配置: const route = { path: 'services', getComponent(nextState, callback) { require.ensure([], (require) => { callback(null, require('./components/services').default) }) }, //getIndexRoute(partialNe
const route = {
path: 'services',
getComponent(nextState, callback) {
require.ensure([], (require) => {
callback(null, require('./components/services').default)
})
},
//getIndexRoute(partialNextState, callback) {
// require.ensure([], (require) => {
// callback(null, {component: require('./components/consulting').default})
// })
//},
childRoutes: [
{
path: 'consulting',
getComponent(nextState, callback) {
require.ensure([], (require) => {
callback(null, require('./components/consulting').default)
})
}
}
],
indexRedirect: {
//from: 'services',
to: 'consulting'
}
}
export default route
但是当我转到/services
时,我收到了错误:
TypeError:元素为空
当我使用
getIndexRoute
时,它工作得很好,但现在我希望重定向到/services/consulting
。考虑到我知道它不是组件,这个错误是什么?IndexRedirect
在对象表示法中不可用,就像jsx组件一样。如果你想重现它的行为,你应该使用oneter
hook进行重定向。将描述更多细节
因此,你应该改变:
indexRedirect: {
//from: 'services',
to: 'consulting'
}
致:
indexRoute: {
onEnter: (nextState, replace) => replace('/consulting')
}