๋ชฉ๋กSSR (2)
๐ค ์์งlog ๐ค
Next.js์ getStaticProps์ getStaticPaths api๋ฅผ ์ฌ์ฉํ๋ฉด static ํ์ด์ง๋ฅผ ์์ฑํ ์ ์๋ค. getStaticProps: ๋น๋ ์ ๋ฐ์ดํฐ๋ฅผ fetchํ์ฌ static ํ์ด์ง๋ฅผ ์์ฑ getStaticPaths: pages/**/[id].tsx ํํ์ ๋์ ๋ผ์ฐํ ํ์ด์ง ์ค, ๋น๋ ์์ staticํ๊ฒ ์์ฑํ ํ์ด์ง๋ฅผ ์ ํจ ๐ getStaticProps .tsx์์ export async function getStaticProps(context) ํํ๋ก ์ฌ์ฉ. context.params๋ก ๋์ ๋ผ์ฐํ ์ ๊ฒฝ๋ก ์ด๋ฆ์ ๊ฐ์ ธ์จ๋ค. pages/posts/[id].tsx ํ์ด์ง๋ฅผ /posts/123์ผ๋ก ์ ๊ทผํ๋ค๋ฉด context.params๋ { id: "123" }์ด ๋๋ค. { p..
Next.js์์ ์ ๊ณตํ๋ SSR, ํ์ง๋ง ์ฐ๋ฆฌ๋ SSR์์ ์ฌ์ฉํ์ง ๋ชปํ๋ ๊ฐ์ฒด์ธ window ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ๋๊ฐ ๋ง์ต๋๋ค. ๊ทธ๋ด๋ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ ! 1. typeof ๋ฅผ ์ฌ์ฉ. if(window){...} // window is not definde ์๋ฌ๋ฐ์ if(typeof window !== undefined) {...} // ์ ์๋์ง์์ window์ ํ์ ์ด๊ธฐ๋๋ฌธ์ undefied๊ฐ ๋ฐ์ -> ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค. ๊ฐ๋จํ๊ฒ ์ด๋ฌํ ๋ฐฉ๋ฒ์ผ๋ก window๊ฐ์ฒด๊ฐ ์๋์ง ์ฒดํฌํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. 2. useEffect๋ฅผ ์ฌ์ฉ. useEffect(()=>{ // ์์์ window ๊ฐ์ฒด๋ฅผ ์ฌ์ฉ },[]) useEffect๋ DOMํ์ฑ ํ์ ์คํ์ด ๋๋ hook์ ๋๋ค. ๊ณ ๋ก ๋ธ๋ผ์ฐ์ ๊ฐ์๋ ์๋ฒ์์ ..