location.state становится нулевым, когда я устанавливаю его во второй раз

#reactjs

#reactjs

Вопрос:

У меня на моем веб-сайте есть сценарий входа в систему, в котором, когда пользователь попадает на страницу 1, он должен быть включен, поэтому он будет перенаправлен на страницу входа командой, подобной приведенной ниже в page1.js

 history.push({
       pathname: '/login-page',
       state: { from: '/page1' }
   });
  

Очевидно, что если пользователь еще не зарегистрировался, он снова перенаправится на страницу регистрации со страницы ввода с помощью команды, которая извлекает путь из указанного выше состояния.из

Теперь на странице регистрации пользователь может вернуться на страницу входа

 history.push({
       pathname: '/login-page',
       state: { from: from }
   });
  

который снова был получен из state.from , проблема в том, что все эти состояния будут исправны до страницы регистрации, но когда пользователь переходит на страницу входа, location.state всегда не определен, хотя я явно использовал приведенную выше команду с именем пути, установленным в ‘/ login-page’. Кто-нибудь знает, почему это происходит?

Комментарии:

1. Если я вас правильно понимаю, когда пользователь приземляется на маршруте, состояние всегда равно нулю.

2. да, во второй раз, а не в первый раз, когда я захожу на страницу входа, состояние равно нулю. страница 1 -> вход (состояние в порядке) -> регистрация (состояние в порядке) -> вход (состояние становится нулевым)

3. Возможно, это потому, что состояние «сохраняется для каждого местоположения». Аналогично случаю, описанному в разделе, начинается с If the same component is used as the child of multiple <Route>s reactrouter.com/web/api/Route . Хотя я не уверен, каково решение.