๊ฐ์ฅ ์ต๊ทผ Redux-toolkit ์ฐ๋จนํ๋ ๋ฒ์ ๋ํด ๊ฒ์๊ธ์ ์์ฑํ๋ค.
๊ทธ๋ RTK Query์ ๊ดํด ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํ์๋๋ฐ, ์ ๋ฆฌํ๋ฉด์ ๋ ์๊ฐ์ '์ด? ์ด๊ฑฐ ๋ญ๊ฐ ์ญํ ์ด React-Query์ ๋น์ทํ ๊ฒ ๊ฐ์๋ฐ, ์ด๋ค ๊ฒ ๋ค๋ฅธ์ง ํ ๋ฒ ์ฐพ์๋ด์ผ๊ฒ ๋ค'์๋ค.
๊ทธ๋์ ์ด๋ฒ ๊ฒ์๊ธ์ ํตํด RTK Query์ React-Query ์ฐจ์ด์ ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉํ๋ ์ํฉ์ ๋ํด ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค.
์ ์ฌ์ง 2๊ฐ์ง๋ ๋ด๊ฐ ์ ๋ฆฌํ๋ RTK Query์, React-Query์ ๊ดํ ๋ด์ฉ์ ์บก์ณํด ์จ ๊ฒ์ด๋ค!
์ฐธ๊ณ : RTK Query ๊ณต์๋ฌธ์
๋ถ์กฑํ ๋ถ๋ถ์ ๋ํ ๋ณด์ถฉ์ค๋ช ๋๊ธ์ ์ธ์ ๋ ํ์์ ๋๋ค! โจ
๋น๋๊ธฐ ๋ฐ์ดํฐ ํต์ ๊ด๋ฆฌ
์๋ฒ์์ API ํธ์ถ ๋ฐ ๋ฐ์ดํฐ ์์ฒญ๊ณผ ์๋ต ์ฒ๋ฆฌ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋๋ก ํ๋ค.
์๋ ์บ์ฑ ๋ฐ ์ต์ ํ(์์ฒญ ์ค๋ณต ๋ฐฉ์ง ๋ฑ..)
์ํ ๊ด๋ฆฌ์ ๋จ์ํ
์ํ ๊ด๋ฆฌ๋ฅผ ๋จ์ํํ๊ณ , ์ฝ๋์ ๊ฐ๋
์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํค๋ ๋ฐ ์ด์ ์ ๋ง์ถ๋ค.
๋ฑ์ ๊ณตํต์ ์ ๊ฐ๊ณ ์๋ค!
[RTK Query (Redux)]
RTK Query๋ Redux๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ ์ค ํ๋์ด๋ฏ๋ก, Store ์ฆ ์ํ ์ ์ฅ์๊ฐ ์กด์ฌํ๋ค. ๊ทธ๋์ Redux๊ฐ ์ ์ฉ๋ ํ๋ก์ ํธ์ ์ถ๊ฐํ๊ธฐ๊ฐ ์ฝ๋ค.
[React-Query]
React-Query๋ ์ํ๋ฅผ ์ ์ฅํ๋ ์ ์ฅ์๊ฐ ๋ฐ๋ก ์๊ณ , ์ด๋ค ์ํ์ธ์ง ํ์
ํ์ฌ ๊ด๋ฆฌํ๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๋ก ๋ณด๋ฉด ๋๋ค.
[RTK Query (Redux)]
RTK์ ํต์ฌ! createAPI ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
createAPI๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ ๋, endpoints ํ๋ผ๋ฏธํฐ ํญ๋ชฉ์ ์์ฑํ ์ ์๋๋ฐ ์ด๋ ์ ์๋
[React-Query]
์ํฉ์ ๋ฐ๋ผ useQuery, useMutation ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
๋ด๊ฐ ์ดํดํ ๋ฐ๋ก๋ ์๋ฒ์ ๋ฐ์ดํฐ๊ฐ ์์ ๋ ํ์๊ฐ ์์ ๋, mutation์ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ์๊ณ ์๋ค.
[RTK Query (Redux)]
createApi์์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํํ์ฌ ์ํ ๊ด๋ฆฌ๋ฅผ ์ต์ ํํ ์ ์๋๋ก ํ๋ค.
[React-Query]
๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ์ ๊ทํํ์ง๋ ์์ง๋ง, API์ ์์ฒญ ์ค๋ณต์ ๋ฐฉ์งํด์ฃผ๊ณ ๋ฐ์ดํฐ ์บ์๋ฅผ ํตํด ์ฑ๋ฅ์ ํฅ์์ํจ๋ค.
[RTK Query (Redux)]
์ํ ์
๋ฐ์ดํธ ๋ฐ ์บ์ฑ์ ์ต์ ํํ๋๋ฐ Redux ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค.
[React-Query]
์์ฒญ ์ค๋ณต ๋ฐฉ์ง, ๋ฐ์ดํฐ ์บ์ฑ, Refetch ๋ฑ์ ํตํด ์ต์ ํ ๋์ด ์๋ค.
RTK Query์ React-Query์ ๋น๊ตํ๋ ํ
์ด๋ธ์ด๋ค.
์ฐธ๊ณ ํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.