Tanstack Query with Next.js
Last updated
Last updated
์ด๋ฒ์ Next.js๊ฐ 15๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ๋๋ฉด์ fetch ์ ๋ํด ์บ์ฑ ์ฌ๋ถ, stale time ์กฐ์ ๋ฑ์ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์๋ค. ๋ฌธ๋ ๋ "๊ทธ๋์ Tanstack Query ๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋น๋๊ธฐ ์์ฒญ์ ๋ํด ์บ์ฑ/stale ์กฐ์ , ์๋ฒ ์ํ๊ด๋ฆฌ๋ฅผ ์งํํ๋๋ฐ, ์ด์ ๊ตณ์ด ์ฌ์ฉ ์ํด๋ ๋์ง ์์๊น?" ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค. ๊ฐ๊ฐ์ ๊ธฐ์ ์ ์ ๋ฆฌํ๋ฉฐ ํ๋จํด๋ณด์.
๊ณต์๋ฌธ์์์ Tanstack Query๋ it makes fetching, caching, synchronizing and updating server state in your web applications a breeze.
๋ผ๊ณ ์๊ฐํ๊ณ ์๋ค. ๊ฐ๋จํ ๋ฒ์ญํ์๋ฉด ๋ฐ์ดํฐ Fetching, ์บ์ฑ, ์๋ฒ ๋ฐ์ดํฐ์ ์
๋ฐ์ดํธ์ ๋๊ธฐํ๋ฅผ ์ฉ์ดํ๊ฒ ํด์ค๋ค ๋ผ๋ ๋ง์ด๋ค. Tanstack Query๋ฅผ ์ฌ์ฉํ๋ ๋ช
ํํ ์ด์ ๊ฐ ๋ค์ด์๋ ํ๋ฌธ์ฅ์ด๋ค.
๊ธฐ์กด ์๋ฒ์ํ๊ด๋ฆฌ์ ์ ์์ ์ ๋ฐ๋ก ์บ์ฑ, ๋๊ธฐํ, ์ ๋ฐ์ดํธ๋ค.
์ค๋๋ ๋ฐ์ดํฐ๋ฅผ ์ต์ ๋ฐ์ดํฐ์ ๋๊ธฐํํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ผ๋ง๋ ์บ์ฑํด ์ฌ์ฉํ ๊ฒ์ธ์ง, ์ธ์ ๋ค์ ์๋ก์ด ๋ฐ์ดํฐ๋ก ์ ๋ฐ์ดํธํ ๊ฒ์ธ์ง๋ฅผ ๋ค๋ค์ผ ํ๋ ๊ฒ์ด๋ค. ๊ธฐ์กด ํ๋ ์์ํฌ (eg. react)์์๋ ์ด๊ฒ์ useState Hook์ ์ฌ์ฉํด ํด๊ฒฐํ๋ค. ๋ฌผ๋ก ๊ตฌํ๊ณผ ๋ณ๊ฐ๋ก ์ฝ๋๊ฐ ๋งค์ฐ ๊ธธ์ด์ง๊ณ ๊ฐ๋ ์ฑ ๋ํ ๋จ์ด์ก๋ค. ์ด๊ฒ์ ๋ฉ์๋ ํ๋๋ก ์์ฝ๊ฒ ํด๊ฒฐํด์ค ๊ฒ์ด ๋ฐ๋ก Tanstack Query๋ค.
์ด๋ฒ์ ๋ฐ์ดํฐ Fetching ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ Next.js v15 ๊ณต์๋ฌธ์๋ฅผ ์ดํด๋ณด์.
์๋ฒ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํด ์๋ฒ ์ธก์์ Fetching
Suspense, Loading UI๋ฅผ ํตํ ์ ์ง์ Rendering
์ ๋๋ก ์์ฝํด ๋ณผ์ ์๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Next.js 15์ Fetch ๋ ์บ์ฑ์ ์ง์ํ์ง ์๋๋ค. ์ด์ ๋ฐ๋ผ ๊ฐ๋ฐ์๊ฐ ์ต์ ์ ํตํด ์บ์ฑ ์ต์ ์ ์ค์ ํ ์ ์์ผ๋ฉฐ, revalidate ๋ํ ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
์ฆ, ์ด์ ์ Tanstack Query๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์ป๋ ์ด์ ์ Next.js์ ๋นํธ์ธ ๋ฉ์๋๋ก๋ ์ป์์ ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ ๋ค๊ณ Tanstack Query์์ ์ง์ํ๋ ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ Next.js 15๋ก ๋์ฒดํ ์ ์๋๊ฐ? ๋ผ๋ ์ง๋ฌธ์๋ ์๋์ค ๋ผ๊ณ ํ ์ ์๋ค.
๋จ์ ๋ฐ์ดํฐ Fetching ๋ก์ง๋ค์ Next.js 15์ Fetch๋ก ๊ตฌํ์ด ๊ฐ๋ฅํ์ง๋ง, ์๋ฒ-ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ ๋๊ธฐํ, ์ค์๊ฐ ๋ฐ์ดํฐ ๋ฐ์ ๋ฑ ๋ณต์กํ ์ํ๊ด๋ฆฌ๋, ๋ฐ์ดํฐ ์์กด์ฑ ๊ด๋ฆฌ์ ์์ด์ Tanstack Query๋ ์ฌ์ ํ ๋งค๋ ฅ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค.
๋ค๋ง, ์ด๋ฒ 15๋ฒ์ ์ ๋ฐ์ดํธ๋ฅผ ํตํด ๋นํธ์ธ ๊ธฐ๋ฅ๋ง์ผ๋ก ์ถ๊ฐ์ ์ธ ์์กด์ฑ ์์ด ๊ตฌํ์ด ๊ฐ๋ฅํด์ก๊ธฐ ๋๋ฌธ์ ์ถํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๋ฐ์ ๋ ๊ฐ๋ฐํ๊ฒฝ์ ๊ธฐ๋ํด ๋ณผ์ ์์ ๊ฒ ๊ฐ๋ค.