Передать данные в getServerSideProps с предыдущей страницы в NextJS - PullRequest
0 голосов
/ 25 апреля 2020

Я занимаюсь разработкой сайта для электронной коммерции, используя Next JS.

Я получу список продуктов на странице /products. При нажатии на любой продукт я перейду к /details/[productId] и получу подробную информацию о продукте следующим образом.

// In /details/[productId].js file

export async function getServerSideProps({params}) {
    const res = await fetch(`https:my-api-url/api/products/${params.productId}`)
    const product = await res.json()
    return {
        props: {
            product
        }
    }
}

Проблема

Все выглядит хорошо до этого шага. Но я подумал уменьшить количество операций чтения из базы данных, поэтому вместо того, чтобы снова извлекать сведения о продукте на странице detail, я планировал использовать данные, полученные на предыдущей странице (/products), которые будут содержать информацию о продукте. Следовательно, мне нужен способ передать этот объект продукта на следующий экран /details/[productId] getServerSideProps (для достижения SSR для целей SEO).

Обходной путь

Одно решение I в настоящее время есть stringify продукт json и передача его через параметр запроса и возврат его в getServerSideProps({params, query}). Но это просто спам мой URL в браузере, который выглядит не очень хорошо.

Ожидание

Есть ли другой способ передачи данных в функцию getServerSideProps, чтобы она использовала данные для генерации всей страницы на самом сервере. Пожалуйста, направьте меня, чтобы преодолеть эту проблему. Любая помощь будет оценена.

Заранее спасибо .. (:

...