HashRouter не работает с useLocation()

#javascript #reactjs

Вопрос:

Я пытаюсь использовать useLocation(), но он не работает с HashRouter

У меня есть компонент, который отправляет некоторые данные на другой маршрут

 const onSubmit = () => {
    if (index < questions[selected].length - 1) {
      setIndex((value) => value   1);
    } else {
      history.push("/final", { selected, answer });
    }
  };
 

И на маршруте у меня есть:

 const { state } = useLocation();
const { selected, answer } = state;
 

Но когда я пытаюсь запустить приложение, оно выдает ошибку:

Ошибка типа: невозможно уничтожить свойство ‘selected’ из ‘state’, поскольку оно не определено.

Что я делаю не так?

Ответ №1:

Из https://v5.reactrouter.com/web/api/HashRouter:

ВАЖНОЕ ПРИМЕЧАНИЕ: история хэшей не поддерживает местоположение.ключ или location.state.

Следовательно, location.state не определено с помощью HashRouter