response-router Не удается прочитать свойство push of undefined

Я использую response-router для перехода на определенную страницу после входа в систему через мой REST api.

Вот образец моих кодов, попробовал это:

export default {
  loginUser: (jwt, rememberMe) => {
  var savedJwt = localStorage.getItem('jwt');

  AppDispatcher.dispatch({
    actionType: 'LOGIN_USER',
    jwt: jwt
  });

  if (savedJwt !== jwt) {
    browserHistory.push('/');
    localStorage.setItem('jwt', jwt);
  }
},

И это на основе учебника по реактивному маршрутизатору.

export default {
  loginUser: (jwt, rememberMe) => {
  var savedJwt = localStorage.getItem('jwt');

  contextTypes: {
      router: React.PropTypes.object
  }

  AppDispatcher.dispatch({
    actionType: 'LOGIN_USER',
    jwt: jwt
  });

  if (savedJwt !== jwt) {
    this.context.router.push('/')
    localStorage.setItem('jwt', jwt);
  }
},

Однако оба не работают. Первый жалуется на «Ошибка регистрации в TypeError: невозможно прочитать свойство 'push' of undefined», а второй жалуется на «Ошибка входа в TypeError: невозможно прочитать свойство 'context' of undefined».

Может ли кто-нибудь помочь мне с этим? Застрял здесь на несколько часов. Спасибо!


person Yen Sheng    schedule 28.02.2016    source источник
comment
Вы импортировали историю браузера из реактивного маршрутизатора. import { browserHistory } from 'react-router' Также какую версию реактивного маршрутизатора вы используете?   -  person Rohan Pujari    schedule 28.02.2016


Ответы (2)


вызов this.context.router.push('/') не будет работать по какой-либо причине. Однако URL-адрес изменяется при использовании browserHistory.push('/'). На этом этапе, если вы обновите страницу, она должна изменить страницы. Однако, основываясь на том, что я читал до сих пор, я не знаю, что использование реагирующего маршрутизатора для загрузки другой страницы с вашего сервера - лучший способ.

person Community    schedule 27.05.2016

Получается browserHistory.push ('/'); работает нормально. Причина сбоя связана с неправильными библиотеками реактивного маршрутизатора.

person Yen Sheng    schedule 29.02.2016
comment
что вы имеете в виду под неправильными библиотеками реактивного маршрутизатора? как ты решил эту проблему? - person nburk; 19.05.2016