๐๏ธ ํ์ต ์ผ์ง (๊ณ ๋ฏผ๊ณผ ํด๊ฒฐ) - codesquad-masters2025-team01/issue-tracker GitHub Wiki
- ๐ค ๊ณ ๋ฏผ: ์์์ผ์์ ์ฌ์ฉํ๋ Epic - Story - Task ๋ฐฉ์์ผ๋ก ํ ์ผ์ ๋๋์ด ์ ๋ฆฌํ์๋ค. ๋ฐฑ์๋์ ํตํฉํด์ ์์ ํ๋ ๊ฒ์ด ์ข์๊น?
- โ
ํด๊ฒฐ: ์ต์ข
์ ์ผ๋ก๋ ๋ฐฑ๊ณผ ํ๋ก ํธ ๋ฐ๋ก ์์
ํ์๋ค.
์ฒ์์๋ ์ํฝ๊ณผ ์คํ ๋ฆฌ๋ฅผ ๊ฐ์ด ๊ณต์ ํ๊ณ Task๋ง ๋ฐฑ๊ณผ ํ๋ก ํธ ๋ฐ๋ก ์ ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ํ๊ธฐ๋ก ํ์ผ๋, ๋น์ ์ํฝ์ ํ๋ฉด ๋จ์์๋๋ฐ
๋ฐฑ์๋ ํ์์ ํตํด ์ํฝ์ ๋๋ฉ์ธ ๋จ์๋ก ์ด๋ฃจ์ด์ง๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ๊ทธ๋ ๊ฒ ํด์ ์ํฝ๊ณผ ์คํ ๋ฆฌ๋ฅผ ๊ฐ์์๊ณ ๋ค์ ์ ํ๊ฒ ๋์๋ค.
๊ทธ๋ฐ๋ฐ ์๊ฐํด๋ณด๋ ์ด๋๋ก Task๋ฅผ ์ ๋ฆฌํ๋ค๋ฉด ๋์ค์ ๋ด๊ฐ ์์ ํ ๋ ์ด๋ ค์์ ๊ฒช์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
(Task๊ฐ ํ๋ฉด ๋จ์๊ฐ ์๋๋ค ๋ณด๋ ์ฃผ์ด์ง ๊ธฐํ์์ Task์ ํต์ผ์ฑ์ด ๋จ์ด์ ธ ๋ด ์์ ํ์ ์ ์ด๋ ค์์ ๊ฒช์ ์ฐ๋ คโ)
๊ทธ๋์ ํ๋ก ํธ์๋๋ Epic - Story - Task์ ๋ฐ๋ก ์ ๋ฆฌํ๋ ๋ฐฉํฅ์ผ๋ก ํ๊ธฐ๋ก ํ๋ค.
- ๐ค ๊ณ ๋ฏผ: ์ด๊ธฐ ์ธํ
์ ์ผ์ถ ๋ง๋ฌด๋ฆฌํ๊ณ ์ฑ์ ๋๋ ค๋ดค๋๋ฐ,
createContext only works in Client Components.
๊ฐ์ ์๋ฌ๊ฐ ๋๋ค. "use client" ๋ช ์์๋ฅผ ๋ฌ๋ผ๊ณ ํ๋๋ฐ, ๊ทผ๋ฐ ๋ด ์ฝ๋์ createContext๊ฐ ์๋๋ฐ..?? - โ ํด๊ฒฐ: ๐ NextJS ํ๊ฒฝ์์, ์ฝ๋์ createContext๊ฐ ์๋๋ฐ, createContext only works in Client Components.๊ฐ์ ์๋ฌ๊ฐ ๋๋ ์ด์ ๋ฐ ํด๊ฒฐ ๊ณผ์
- ๐ค ๊ณ ๋ฏผ: ์ ์๋ฌ๋ฅผ ํด๊ฒฐํ๊ณ ํ๋ฉด์ ๋์ ๋๋ฐ ์ฝ์์ ์ฒ์ ๋ณด๋ ๊ฒฝ๊ณ ๊ฐ ์ฐํ์๋ค.
A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used: ...
- โ
ํด๊ฒฐ: <์๋ฌ์ ์ ์ฒด โ SSR Hydration Mismatch ๊ฒฝ๊ณ >
Next.js(React 18โ+)์์ SSR (์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง) โ ํด๋ผ์ด์ธํธ Hydration ๋จ๊ณ์์, ์๋ฒ๊ฐ ๋ง๋ HTML๊ณผ ๋ธ๋ผ์ฐ์ -์ธก React๊ฐ ๊ณ์ฐํ ๊ฐ์ DOM์ด ์ผ์นํ์ง ์์ผ๋ฉด React๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ๊ณ ๋ฅผ ๋์ด๋ค.
A tree hydrated but some attributes of the server rendered HTML didnโt match the client properties. This wonโt be patched up โฆ
์ฆ โ์ด๋ฏธ ๋ด๋ ค๋ณด๋ธ ๋งํฌ์ ๊ณผ ํด๋ผ์ด์ธํธ๊ฐ ๋ง๋ ๋งํฌ์ ์ด ๋ฌ๋ผ์ React๊ฐ ์ด๋ป๊ฒ ๊ณ ์ณ ์ค ์ ์๋คโ ๋ ๋ป์ด๋ฉฐ, ์ด ์ฐจ์ด๋ฅผ ์์ ํ์ง ์์ผ๋ฉด ์์ธกํ ์ ์๋ UI ๊น๋นก์ยท์ด๋ฒคํธ ๋ถ๋ฐ ๋ฑ์ด ์ผ์ด๋ ์ ์๋ค๊ณ ํ๋ค. ์ด๋ฒ ์ผ์ด์ค๋ cz-shortcut-listen ์์ฑ ํ์ผ ํ๋ฅ ์ด ๋๋ค๊ณ ํ๋๋ฐ, ํ์ฅ ํ๋ก๊ทธ๋จ๊ณผ ์ฐ๊ด์ด ์๋ ๊ฒ ๊ฐ๋ค. ์ ํํ ์์ธ ํ์ ์ด ์๋์, ์ผ๋จ์ ์ด ์ํ๋ก ๊ฐ๋ฐ์ ํด๋ด์ผ๊ฒ ๋ค.
- ๐ค ๊ณ ๋ฏผ: Emotion์ผ๋ก theme์ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ ค๊ณ ํ๋๋ฐ, theme์ด ์ ์ฉ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. (
background-color: ${({ theme }) => theme.colors.surface.default};
์์ colors ์์ฑ์ ์ฝ์ ์ ์๋ค๋ ์๋ฌ) - โ
ํด๊ฒฐ: ํ์
์ ์ฝ์ง ๋ชปํ๋ ๋ฌธ์ . emotion.d.ts ํ์ผ์ ๋ง๋ค์ด ํด๊ฒฐํ์๋ค.
import "@emotion/react"; import type { ThemeType } from "@/styles/theme"; declare module "@emotion/react" { export interface Theme extends ThemeType {} }
- ๐ค ๊ณ ๋ฏผ:
/frontend/public/mockDatas/issueMockData.json
๊ฒฝ๋ก์ ์์นํ mock ๋ฐ์ดํฐ๋ฅผ fetch๋ก ๊ฐ์ ธ์ค๋ ค ํ๋๋ฐ, console ์ฐฝ์ ์๋ฌด๊ฒ๋ ๋์ค์ง ์๋๋ค. ๊ฐ๋ฐ์ ๋๊ตฌ์ ๋คํธ์ํฌ ํญ์ ํ์ธํด๋ณด๋ 404 Not Found ์๋ฌ์ด๋ค. ์ด๋ป๊ฒ ํด๊ฒฐํด์ผ ํ ๊น? - โ ํด๊ฒฐ: ๐ fetch ๊ฒฝ๋ก 404 ์๋ฌ ๋์ ์ ๋ฆฌ
- ๐ค ๊ณ ๋ฏผ: mock ๋ฐ์ดํฐ๊ฐ ๋ก์ปฌ์ ์ ๋๋ก ์ฐ๊ฒฐ๋๋์ง ํ์ธํ๋ ์์
์ค
Error: A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:
์ด๋ฐ ์๋ฌ๋ฅผ ๋ง์ฃผํ๋ค. โ์๋ฒ๊ฐ ๊ทธ๋ฆฐ HTMLโ๊ณผ โํด๋ผ์ด์ธํธ๊ฐ ์ฒ์ ๋ ๋๋งํ DOMโ์ด ์๋ก ๋ค๋ฅผ ๋ ๋ฐ์ํ๋ ์๋ฌ์ธ ๊ฒ์ ์๊ฒ ๋๋ฐ, ์ด๋๊ฐ ๋ฌธ์ ์ธ ๊ฒ์ด๋ฉฐ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผ ํ ๊น? - โ ํด๊ฒฐ: ๐ hydration mismatch ๋์ ์ ๋ฆฌ