реагировать роутер на ввод заменить не работает - PullRequest
0 голосов
/ 29 апреля 2018

Я хочу использовать response-router (v3.0.2) onEnter для аутентификации, метод replace не работает при первом доступе, но выдается ошибка. Как я могу это сделать?

Целевая страница может быть защищена. (авторизация при входе)

export default {
    path: '/',
    component: LandingContainer,
    onEnter: (router, replace) => {
        const { store, actions } = context
        const { getState, dispatch } = store
        const state = getState()
        const user = state.get('user')
        if (!user.get('_id')) {
            dispatch(actions.setReturnUrl(location.pathname + 
location.search))
            replace('/login')
            return
        }
        return
    },
    childRoutes: [
        require('./user').default || require('./user'),
        require('./live').default || require('./live'),
        require('./course').default || require('./course')
    ],
    indexRoute: {
        component: Main
    }
}

замена не работает, но возникает ошибка (только первый рендеринг)

warning.js?8a56:33 Warning: Failed prop type: The prop `routes` is marked as required in `Root`, but its value is `undefined`.
in Root

warning.js?8a56:33 Warning: Failed child context type: The child context `routes` is marked as required in `Root`, but its value is `undefined`.
in Root
in AppContainer

Warning: [react-router] Location "/" did not match any routes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...