getServerSideProps vs getServerSideProps в nextJs
В чем разница между getServerSideProps и getServerSideProps? Я создал гист на тему. Каждый раз rand разный, при переходе с shallow:true на страницу, поведение одинаковое (лог отображается с задержкой на сервере). В мануалах пишут про build при getStaticProps, объясните подробнее.
// page/login.tsx
import React, {FunctionComponent} from "react";
import MainLayout from "../components/layouts/MainLayout";
import {IComponentProps} from "../components/declarations";
import { GetStaticProps, GetServerSideProps } from 'next'
import {randomInt} from "crypto";
export default function Login({children, rand}: IComponentProps) {
console.log(arguments,rand);
return (
<>
<MainLayout title={'Авторизация'}>
<p>login</p>
<p>random: {rand}</p>
</MainLayout>
</>
)
}
export const getStaticProps: GetStaticProps = async (context) => {
debugger;
console.log('!!!!!!!!!!getStaticProps - 0!!!!!!!!');
return new Promise<any>(resolve => {
setTimeout(() => {
console.log('!!!!!!!!!!getStaticProps - 1!!!!!!!!');
resolve({
props: {
rand: randomInt(1000)
}
})
},5000)
})
};
// export const getServerSideProps: GetServerSideProps = async (context) => {
// debugger;
// console.log('!!!!!!!!!!getStaticProps - 0!!!!!!!!');
//
// return new Promise<any>(resolve => {
// setTimeout(() => {
// console.log('!!!!!!!!!!getStaticProps - 1!!!!!!!!');
//
// resolve({
// props: {
// rand: randomInt(1000)
// }
// })
// },5000)
// })
// };
Ответы (1 шт):
Автор решения: tannerman
→ Ссылка
Разобрался. Он запускается каждый раз только в dev режиме. При npm run build он запускается только при самом билде. При перезагрузке страницы или переходе - подставляется стянутое при билде.