Дважды проверьте ссылки на jQuery. Возможно, вы ссылаетесь на него более одного раза или вы слишком рано вызываете свою функцию (до определения jQuery). Вы можете попробовать, как указано в моих комментариях, и поместить любую ссылку jQuery в верхнюю часть вашего файла (в голове) и посмотреть, поможет ли это.
Если вы используете инкапсуляцию jQuery, она не должна Это дело. Пожалуйста, попробуйте, потому что я думаю, что это красивее и более очевидно, но если jQuery не определен, вы получите те же ошибки.
В конце ... jQuery в настоящее время не определен.
Модуль маршрутизатора доступен только на стороне клиента.
Мне пришлось импортировать так:
// works
import Router from "next/router";
// dont
import { Router } from "next/router";
При использовании next.js необходимо учитывать, что перенаправления должны выполняться в методе getInitialProps
, чтобы избежать ненужных компонентов рендеринга.
например
const MyComponent = ()=>{
return <tag> {/* ... */} </tag>
}
MyComponent.getInitialProps = ({res}) => {
if (res) {
/* serve-side */
res.writeHead(302, {
Location: 'http://example.com'
})
res.end()
} else {
/* client-side */
Router.push('http://example.com')
}
return {}
}