Я обнаружил проблему, о которой сообщили об этом, на Next. js github: https://github.com/zeit/next.js/issues/9951
Было сообщено, что только 5 дней go, так что вы можете быть имея ту же проблему. Разрешение должно быть обновлено до следующего js v9.1.8-canary.6
. Читая больше об этом и глядя на исходный код, это, вероятно, ваша проблема. Кроме того, есть более поздние канареечные сборки следующего js, если вы хотите попробовать что-то более новое.
Если это не решит проблему, я думаю, что вы получаете ошибки, потому что вы используя Link
вне страницы Next. js. Далее. js может включать зависимости для страниц, за кулисами. Link
может полагаться на эти зависимости и выдает ошибку, когда они не найдены. Если вы хотите проверить свои компоненты вне страниц Next. js, вы можете создать пользовательский компонент Link
, который проверяет, находитесь ли вы в Next. js и отображает Link
, только если вы это делаете. Например:
import Link from 'next/link'
import Router from 'next/router'
const CustomLink = ({children, ...otherProps}) => {
const isPage = () => {
// if we're in a next.js route, then Router.router will be set
return Boolean(Router.router)
}
return isPage()
? (<Link {...otherProps}>{children}</Link>)
: children
}
Затем используйте CustomLink
вместо Link
.