Вопрос проверяет понимание специальных функций Next.js для управления данными и генерацией страниц.
getStaticProps получает данные для статических страниц во время сборки. getServerSideProps получает данные при каждом запросе на сервере. getStaticPaths определяет какие динамические пути должны быть предварительно сгенерированы для статических страниц.
Эти функции являются основными инструментами для работы с данными в Next.js.
Отличия и назначение:
getStaticProps
Используется для SSG (статической генерации)
Запускается во время сборки приложения
Данные кэшируются и используются для всех запросов
export async function getStaticProps() {
const data = await fetchData()
return { props: { data } }
}getServerSideProps
Используется для SSR (серверного рендеринга)
Запускается при каждом запросе
Данные всегда актуальны
export async function getServerSideProps(context) {
const userData = await fetchUserData(context.req)
return { props: { userData } }
}getStaticPaths
Используется вместе с getStaticProps для динамических маршрутов
Определяет какие конкретные пути должны быть сгенерированы статически
export async function getStaticPaths() {
const paths = await getAllPostIds()
return { paths, fallback: false }
}Вывод: Выбор функции зависит от требований к актуальности данных и производительности.