Next Js Router.push не является ошибкой функции

Дважды проверьте ссылки на jQuery. Возможно, вы ссылаетесь на него более одного раза или вы слишком рано вызываете свою функцию (до определения jQuery). Вы можете попробовать, как указано в моих комментариях, и поместить любую ссылку jQuery в верхнюю часть вашего файла (в голове) и посмотреть, поможет ли это.

Если вы используете инкапсуляцию jQuery, она не должна Это дело. Пожалуйста, попробуйте, потому что я думаю, что это красивее и более очевидно, но если jQuery не определен, вы получите те же ошибки.

В конце ... jQuery в настоящее время не определен.

0
задан Ryan Dhungel 3 March 2019 в 12:02
поделиться

3 ответа

Модуль маршрутизатора доступен только на стороне клиента.

0
ответ дан giggi__ 3 March 2019 в 12:02
поделиться

Мне пришлось импортировать так:

// works
import Router from "next/router";
// dont
import { Router } from "next/router";
0
ответ дан Ryan Dhungel 3 March 2019 в 12:02
поделиться

При использовании 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 {}
}
0
ответ дан franklinlugo 3 March 2019 в 12:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: