๐ ํ๋ก์ ํธ - ๋กค๋ง
1๏ธโฃ ๋ฌธ์ ์ํฉ

์ด๋ชจ์ง ๋ฑ๋ก ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ์ค,
์ฌ์ฉ์๊ฐ ์๋ก์ด ์ด๋ชจ์ง๋ฅผ ๋ฑ๋ก(Post ์์ฒญ)ํด๋ ํ๋ฉด์ ์ฆ์ ๋ฐ์๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์์ฒญ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๊ณ ์๋ก๊ณ ์นจ์ ํด์ผ UI๊ฐ ๊ฐฑ์ ๋๋ ๋ถํธํ ์ํฉ์ด์๋ค.
2๏ธโฃ ์์ธ ๋ถ์
๋ฌธ์ ์ ์์ธ์ ํด๋ผ์ด์ธํธ๊ฐ ์ด์ ์ํ๋ฅผ ๋ฐ๋ผ๋ณด๊ณ ์์ด ์๋ฒ ์ํ์ ๋ถ์ผ์นํ๊ณ ์์๊ธฐ ๋๋ฌธ์ด๋ค.
POST ์์ฒญ ํ ์๋ฒ์ ์๋ต์ ๋ฐ์ ๋๊น์ง ํด๋ผ์ด์ธํธ์ ์ํ(state)๋ ์ด์ ์ํ๋ฅผ ์ ์งํ๊ณ ์์ด์
ํ๋ฉด์ ์ฆ๊ฐ์ ์ธ ๋ณํ๊ฐ ๋ณด์ด์ง ์์๋ค.
3๏ธโฃ ํด๊ฒฐ ๋ฐฉ๋ฒ
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋๊ด์ ์ ๋ฐ์ดํธ(Optimistic Update) ๋ฐฉ์์ ์ ์ฉํ๋ค.
์๋ฒ ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ , ์์ฒญ์ด ๋ฐ์ํ ์์ ์ setState๋ฅผ ์ฌ์ฉํด
ํด๋ผ์ด์ธํธ ์ํ๋ฅผ ๋จผ์ ๋ณ๊ฒฝํ์ฌ ํ๋ฉด์ ์ฆ์ ์ ๋ฐ์ดํธํ๋๋ก ๊ตฌํํ๋ค.

์ฌ์ฉ์๊ฐ ์ด๋ชจ์ง๋ฅผ ๋ฑ๋กํ๋ฉด ๊ณง๋ฐ๋ก ํ๋ฉด์ ๋ฐ์๋์๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ด ํ์ธต ์์ฐ์ค๋ฌ์์ก๋ค.
4๏ธโฃ ์ ๋ฆฌ
๋๊ด์ ์ ๋ฐ์ดํธ๋ ์ฆ๊ฐ์ ์ธ UI ๋ฐ์์ ์ ๊ณตํ๋ค๋ ์ฅ์ ์ด ์์ง๋ง,
์๋ฒ ์์ฒญ์ด ์คํจํ๊ฑฐ๋ ๋ค๋ฅธ ํด๋ผ์ด์ธํธ์์ ๋์์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ๋ถ์ผ์น ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค๋ ํ๊ณ๊ฐ ์๋ค.
๋ง์ฝ ์ด๋ฒ ํ๋ก์ ํธ์์ React Query๋ TanStack Query ๊ฐ์ ์๋ฒ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค๋ฉด,
๋๊ด์ ์ ๋ฐ์ดํธ๋ฟ๋ง ์๋๋ผ ์๋ ๋ฆฌํ์นญ, ์๋ฌ ๋กค๋ฐฑ ์ฒ๋ฆฌ ๋ฑ์ ๋ ๊ฐ๋จํ๊ณ ์์ ์ ์ผ๋ก ๊ตฌํํด๋ณผ ์ ์์์ ๊ฒ ๊ฐ๋ค.