오늘은 코드리뷰를 했다.
queryClient 생성 컨벤션
export default function Providers({ children }: Props) {
const [queryClient] = useState(() => new QueryClient())
return (
<QueryClientProvider client={queryClient}>
<ReactQueryDevtools initialIsOpen={false} />
{children}
</QueryClientProvider>
);
}
page.tsx 상단에 “use client” 선언하지 않는 것을 권장합니다.
use client 아래에 있는 코드들은 모두 JS번들파일이 됩니다. 정적인 부분들은 굳이 JS 번들파일이 될 필요가 없습니다.
- loading.tsx 를 전역적으로 선언하는 방식을 권장드리지 않습니다.
- SSG 컴포넌트나 CSR 컴포넌트에서도 찰나에 로딩화면에 보였다가 사라질 수 있어, 사용자 입장에서 깜빡이는 현상으로 보여 UX 에 좋지 않은 영향을 미칠 수 있습니다.
- loading.tsx 는 SSR 페이지를 위해서만 사용하는 것을 권장 드립니다.
Providers 는 global layout에 적용합시다.
tanstack query를 사용하는 CSR 페이지에만 적용하면 되니까 해당 segment layout 별도로 만들어서 적용하시면 상태유지가 안됩니다.
'부캠 > TypeScript&Next' 카테고리의 다른 글
[NEXT]STANDARD-플러스주차 복습 #7 (0) | 2024.12.26 |
---|---|
[NEXT] STANDARD플러스주차 복습 #5 (3) | 2024.12.24 |
[NEXT]Basic zoom (2) middleware & supabase ssr (0) | 2024.12.21 |
[NEXT]Basic zoom (1) route handler (0) | 2024.12.21 |
[NEXT] 마지막 갠 과제에 쓴 거 정리 (2) (1) | 2024.12.19 |