#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