๐Ÿค ์€์ง€log ๐Ÿค

[NEXTJS] ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง์‹œ ๋ฐœ์ƒํ•˜๋Š” html ๋งค์นญ ๋ฌธ์ œ ๋ณธ๋ฌธ

๐ŸŒท Next JS

[NEXTJS] ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง์‹œ ๋ฐœ์ƒํ•˜๋Š” html ๋งค์นญ ๋ฌธ์ œ

Eun_zii 2023. 2. 21. 17:04
Warning: Expected server HTML to contain a matching <div> in <p>.

 

์ด ์—๋Ÿฌ๋Š” ์„œ๋ฒ„์‚ฌ์ด๋“œ ๋ Œ๋”๋ง ์‹œ์˜ html๊ณผ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง ์‹œ์˜ html์ด ์ผ์น˜ํ•˜์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋กœ ์ถ”์ธก๋œ๋‹ค.

๊ทธ๋ž˜์„œ ์‹ค์ œ๋กœ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฟ ํ‚ค๋ฅผ ์‚ญ์ œํ•˜๋ฉด ํ•ด๋‹น ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ•ด๊ฒฐ๋ฐฉ์•ˆ

  1. ๋ธŒ๋ผ์šฐ์ € ์ฟ ํ‚ค ์‚ญ์ œ
    ๋ธŒ๋ผ์šฐ์ €์˜ ์ฟ ํ‚ค๋ฅผ ์‚ญ์ œํ•ด์„œ html์„ ์•„์˜ˆ ์ƒˆ๋กญ๊ฒŒ ๋ Œ๋”๋งํ•˜๋ฉด ํ•ด๋‹น ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋Š” html์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ณ„์† ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๋ฉด์„œ ์ž‘์—…์„ ํ•  ๋•Œ๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ฟ ํ‚ค๋ฅผ ๊ณ„์† ์‚ญ์ œํ•œ๋‹ค๋Š” ๊ฒŒ ๋ฒˆ๊ฑฐ๋กญ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด ํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. useEffect๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ Œ๋”๋ง ํ›„ ์ƒํƒœ ์—…๋ฐ์ดํŠธ
    useEffect๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ Œ๋”๋ง ํ›„ ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•ด์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด ๊ฒฝ๊ณ ๊ฐ€ ๋œฌ๋‹ค๊ณ  ํ•ด์„œ ์ž‘์—…์„ ํ•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ฑฐ๋‚˜ ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ž‘์—… ์ค‘ ๊ณ„์†ํ•ด์„œ ์ฝ˜์†”์— ๋œจ๋Š” ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
const [mounted, setMounted] = useState<boolean>(false);

useEffect(() => {
  setMounted(true);
}, []);

return (mounted && <...>)

 

728x90