Передача нескольких параметров в пользовательский URL-адрес Next.js с помощью сервера Express - PullRequest
0 голосов
/ 17 ноября 2018

Я следовал этому примеру из Next.js о том, как создать поддержку на стороне сервера для чистых URL , но пример поддерживает только передачу одного параметра

Все работало довольно хорошо, я также нашел этона github о том, как добавить несколько параметров к маршруту Next.js.

server.get('/question/:id/:subject', (req, res) => {
  const actualPage = '/question'
  const mergedQuery = Object.assign({}, req.query, req.params)
app.render(req, res, actualPage, mergedQuery)})

Ссылка из компонента выглядит следующим образом

 <Link as={`/question?id=${questionId}&subject=${subject}`} href={`/question?id=${questionId}&subject=${subject}`} ><a>{question}</a></Link>

Это также работало нормально. Моя проблема в том, что когда я пытаюсь замаскировать URL, как показано ниже, я получаю страницу 404, когда обновляю страницу.

server.get('/q/:id/:subject', (req, res) => {
  const actualPage = '/question'
  const mergedQuery = Object.assign({}, req.query, req.params)
app.render(req, res, actualPage, mergedQuery)})

Ссылка в компоненте

 <Link as={`/q?id=${questionId}&subject=${subject}`} href={`/question?id=${questionId}&subject=${subject}`} ><a>{question}</a></Link>

1 Ответ

0 голосов
/ 17 ноября 2018

После работы в Google и многочасовой игры с кодом, это исправление позволяет мне передавать несколько параметров в URL-адрес Next.js, и при обновлении страницы приложение по-прежнему загружается правильно.

<Link as={`/q/${questionId}/${subject}`} href={`/question?id=${questionId}&subject=${subject}`} ><a>{question}</a></Link>
...