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') 
}