Uncaught (в обещании) TypeError: Не удается прочитать свойство 'split' из неопределенного? Следующее приложение, использующее React-Router
При поиске этой ошибки я столкнулся с людьми, использующими встроенный маршрутизатор Next , но они используют Next Router , пока я использую React-Router
Эта ошибка возникает, когда пользователь выполняет навигацию с помощью кнопки «Назад» в браузере.
Не уверен, что отправлять из моего кода, но это вот что выдает ошибка из router.js
:
onlyAHashChange(as) {
if (!this.asPath)
return false;
const [oldUrlNoHash, oldHash] = this.asPath.split('#');
const [newUrlNoHash, newHash] = as.split('#');
// Makes sure we scroll to the provided hash if the url/hash are the same
if (newHash && oldUrlNoHash === newUrlNoHash && oldHash === newHash) {
return true;
}
// If the urls are change, there's more than a hash change
if (oldUrlNoHash !== newUrlNoHash) {
return false;
}
// If the hash has changed, then it's a hash only change.
// This check is necessary to handle both the enter and
// leave hash === '' cases. The identity case falls through
// and is treated as a next reload.
return oldHash !== newHash;
}
Забавно, я использую BrowserRouter
. В частности, мой профиль URL
выглядит следующим образом:
http://localhost:8016/login
И ссылки в коде, похоже, ссылаются примерно на это:
http://localhost:8016#login
ОБНОВЛЕНИЕ Услышав и подумав о том, что Шерил добавил к обсуждению (см. Комментарии ниже), он подтолкнул меня к более тщательному изучению того, откуда возникла ошибка. Оказывается, это было в пакете под названием next-server
.