我有以下路线配置:
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:element为null
当我使用getIndexRoute
时,它工作正常,但现在我希望重定向到/services/consulting
。这个错误是什么,考虑到我知道它不是组件?
答案 0 :(得分:1)
IndexRedirect
在对象表示法中不可用,就像 jsx 组件一样。如果您想重现它的行为,您应该使用onEnter
挂钩进行重定向。更多细节描述here。
所以,你应该改变:
indexRedirect: {
//from: 'services',
to: 'consulting'
}
到:
indexRoute: {
onEnter: (nextState, replace) => replace('/consulting')
}