๐คทโ๏ธ ๋ณธ๋ก ์ ์์
ํ์คํ ๊ฐ๋ฐ์ ์งํํ๋ฉด์ ์ฌ์ฉ์์ ์ ์ฅ์ ์ฐ์ ์ผ๋ก ํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ์ต์ฐ์ ์ผ๋ก ๊ฐ๋ฐํ๋ ค ๋ ธ๋ ฅํฉ๋๋ค.
์ผ๋ง ์ ์ ์ฝ์ ์ฑ ์์
"๊ฐ๋ฐํ๋ ์ฌ๋์ด ์๊ณ ๋กญ๋ค๋ฉด ์ฌ์ฉํ๋ ์ฌ๋์ด ํธ๋ฆฌํ๊ณ , ๊ฐ๋ฐํ๋ ์ฌ๋์ด ํธ๋ฆฌํ๋ค๋ฉด ์ฌ์ฉํ๋ ์ฌ๋์ด ์๊ณ ๋กญ๋ค"
๋ผ๋ ๋ง์ ๋์๊ฒจ ๋ด ๋๋ค!
Prefetching์ด๋ ๋ฌด์์ธ๊ฐ?
ํ๋ฆฌํ์นญ์ ๋ฐ์ดํฐ๊ฐ ์ค์ ๋ก ํ์ํ๊ธฐ ์ ์ ๋ฏธ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ ์บ์์ ์ ์ฅํ๋ ๊ณผ์ ์ ๋งํฉ๋๋ค.
์ด๋ฌํ ํ๋ฆฌํ์นญ ๊ธฐ์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์บ์ฑํ๋ฉด ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์ํ ์ ์์ต๋๋ค.
๊ฐ๋จํ ์ค๋ช ํ๋ฉด
๐ก ๋ฏธ๋ฆฌ ํ์ํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๋ํ์ ์ผ๋ก ํ์ด์ง๋ค์ด์ ๊ณผ ํน์ ํญ์ ๋๋ฅผ ํ๋ฅ ์ด ๋์ ๊ณณ์์ ํ๋ฆฌํ์นญ์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
ํ๋ฉด์ด ๋ถ๋๋ฝ๊ฒ ์ด๋ํ๊ณ ์บ์ฑ๋ฐ์ดํฐ์ ์ก์ธ์ค ํด์ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์์๊ฒ ์ข์ ๊ฒฝํ์ ์ค ์ ์์ต๋๋ค.
ํ๋ฆฌํ์นญ์ ์ ์ฌ์ฉํ๋์?
React-query์์ ํ๋ฆฌํ์นญ์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ ๋น ๋ฅด๊ณ ๋ถ๋๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ํจ์ ๋๋ค.
- ํ๋ฆฌํ์นญ์ด ์๋ ๊ฒฝ์ฐ: ๋ค์ ํ๋ฉด์ผ๋ก ์ด๋ํ๋๋ฐ ์ฝ๊ฐ์ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค. ์ด๋ฅผ ํตํด ๋ถ๋๋ฝ์ง ์์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
- ํ๋ฆฌํ์นญ์ด ์๋ ๊ฒฝ์ฐ: ๋ค์ ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์บ์ฑํด ๋ ์ผ๋ก์จ ์ฌ์ฉ์๊ฐ ๋ค์ ํ๋ฉด์ผ๋ก ์ด๋ํ ๋ ๋์ฑ ๋น ๋ฅด๊ณ ๋ถ๋๋ฌ์ด ํ๋ฉด์ ์ ๊ณตํ๊ณ ์ข์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ค ์ ์์ต๋๋ค.
๐คทโ๏ธ ํ๋ฆฌํ์นญ์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์?
https://cometruedream.tistory.com/130
React-query ์ํ ๊ด๋ฆฌ
๐React-query ์๊ธฐ์ ์ JSX๋?JSX(javascript XML)๋ javascript์ XML์ ์ถ๊ฐํ ํ์ฅํ ๋ฌธ๋ฒ์ด๋ค.JSX๋ React์์ ์ฌ์ฉ๋๋๋ฐ ๊ณต์์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ์๋๋ค.JSX๋ javascript ํ์ฅํ ๋ฌธ๋ฒ์ผ๋ก ๋ฐ๋ฒจ๋ฑ๋ฑ์
cometruedream.tistory.com
1. useQueryClient ์ค์
import { useQueryClient } from '@tanstack/react-query';
const queryClient = useQueryClient();
useQueryClient์ import ํ ํ useQueryClient๋ฅผ ์ ์ธํฉ๋๋ค.
2. prefetchNextPage ํจ์๋ฅผ ๋ง๋ค๊ณ prefetchQuery๋ฅผ ํธ์ถํฉ๋๋ค.
useEffect(() => {
const prefetchNextPage = async () => {
const nextPage = currentPage + 1;
const queryKey = [POI_KEYS.REVIEW_LIST, params?.id, nextPage, reviewFilter];
const queryFn = () =>
apiGetReviewList({
poiIdx: params?.id,
page: nextPage,
pageSize: PAGE_SIZE.REVIEW,
type: reviewFilterConvert(reviewFilter),
});
await queryClient.prefetchQuery({ queryKey, queryFn });
};
prefetchNextPageReviews();
}, [currentPage])
ํ๋ฆฌํ์น ํจ์๋ฅผ ๋ง๋ค์ด์ ํธ์ถํ๋ ๋ฐฉ์์ผ๋ก ๋ก์ง์ ๋ง๋ค์์ต๋๋ค.
์ ์ ๋ชฉํ๋ prefetch ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๋ชจ๋ํ ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค.
React-query Tool์ ํ์ฉํด์ ํ๋ฆฌํ์นญ ํ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
“GET_REVIEW_LIST”๋ฅผ ๋ฏธ๋ฆฌ ํธ์ถํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์บ์ฑํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
๐คทโ๏ธ useQueryClient์ ์ค์ํ ์ ?
useQueryClient๋ QueryClient ์ธ์คํด์ค์ ์ ๊ทผํด์ ์ฌ์ฉํฉ๋๋ค.
react-query๋ฅผ ์ด๊ธฐ ์ค์ ํ ๋ QueryClient๋ฅผ ์ ์ญ์ผ๋ก ์ค์ ํ๋ฏ๋ก useQueryClient๋ฅผ ์ฌ์ฉํ๋๋ฐ ํฐ ๋ฌธ์ ๋ ์์ต๋๋ค.
๊ทธ๋ฌ๋, ํจ์ ๋ด์์ ์ ์ธํ์ฌ ์ฌ์ฉํ๊ฒ ๋๋ฉด hooks ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ ์ค๋์ ๋ ๋ณ ์ด์ธ ๋ณด๊ณ ๊ฐ์ธ์!
https://cometruedream.tistory.com/247
[React] Tailwind ํ์ค, ๋์ค, ์ธ์ค ํจ๊ณผ className ์ปค์คํ
๐คทโ๏ธ Tailwind ํ์ค, ๋์ค, ์ธ์ค ํจ๊ณผํ๋ก์ ํธ ์งํ์ค ๋ฐฐ๋ ๋งํฌ์ URL ๊ธธ์ด๊ฐ ๋๋ฌด ๊ธธ์ด์ 3์ค ํจ๊ณผ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ์ต๋๋ค. React + Tailwind CSS ์ ํ ๋ ํ๋ก์ ํธ ์ฌ์ CSS ํ์ผ & style ํ๊ทธ๋ฅผ ์ฌ์ฉํ
cometruedream.tistory.com
https://cometruedream.tistory.com/243
NestJS Lifecycle (์๋ช ์ฃผ๊ธฐ) ๊ฐ๋
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ Nest JS ๊ฐ๋ ?Nest JS๋ Node JS ๊ธฐ๋ฐ์ผ๋ก ํ ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ ์ ๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๋ ์๋นํ ์ค๋ซ๋์ Express ๊ธฐ๋ฐ์ผ๋ก ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ์๋์ ์ธ ์
cometruedream.tistory.com
https://cometruedream.tistory.com/242
๋ฆฌ์กํธ Vite Proxy ํ์ฉํ CORS ์ค๋ฅ ํด๊ฒฐ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ํ๋ก ํธ์๋ ๋ฒ๋ค๋ฌ ๊ฐ๋ ๊ณผ webpack vs vite ๋น๊ต์ ๋ํด์ ๊ณต๋ถ๋ฅผ ํ๊ณ ๊ธ์ ๋ณด์๋ฉด ๋ ๋ง์ ๋์์ด ๋ฉ๋๋ค^^ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ์ํ ๋ฒ๋ค๋ฌ ๊ฐ๋ ๊ณผ webpack vs vite ๋น๊ตhttps://comet
cometruedream.tistory.com
https://cometruedream.tistory.com/241
React ํด๋๊ตฌ์กฐ FSD ๊ธฐ๋ฅ ๋ถํ ์ค๊ณ ์ํคํ ์ฒ
๐คทโ๏ธ ๋ณธ๋ก ์ ์์ํ๋ก์ ํธ๋ฅผ ์์ํ๊ธฐ์ ์์ ํด๋ ๊ตฌ์กฐ, ์ค๊ณ์ ๋ํ ์ํคํ ์ฒ๋ฅผ ๋ง๋๋ ๊ฒ์ ์๋นํ ์ด๋ ต๋ค. ์ด๋ฒ ํ๋ก์ ํธ์ React FSD ํด๋๊ตฌ์กฐ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ ์์ ์ด๋ผ์ FSD ์ํคํ
cometruedream.tistory.com
https://cometruedream.tistory.com/244
์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋ Prisma ๋ช ๋ น์ด ์ ๋ฆฌ
๐คทโ๏ธ Prisma ๋ช ๋ น์ด ๋ณธ๋ก ์ ์์ Prisma๋?Nest JS ํ๋ ์์ํฌ์ Prisma ORM์ ํ์ฉํด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ Prisma๋ Node JS ๊ธฐ๋ฐ์ ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ํธ์์ฉ์ด ์๋๋ฉฐ Prisma + DB ์ฐ๋์ผ
cometruedream.tistory.com
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฆฌ์กํธ useLayoutEffect ๊ฐ๋ ๋ฐ ์ฌ์ฉ๋ฒ (36) | 2024.07.31 |
---|---|
[React-query] ๋ฐ์ดํฐํต์ ์ ์ํ useMutation ๊ฐ๋ ๊ณผ hooks ์ฌ์ฉ๋ฒ (29) | 2024.07.16 |
[React] Tailwind ํ์ค, ๋์ค, ์ธ์ค ํจ๊ณผ className ์ปค์คํ (1) | 2024.06.03 |
Next JS์์ tailwind ์ ์ฉ ์๋ ๋ ํด๊ฒฐ๋ฐฉ๋ฒ (1) | 2024.05.17 |
๋ฆฌ์กํธ Vite Proxy ํ์ฉํ CORS ์ค๋ฅ ํด๊ฒฐ (1) | 2024.05.03 |