React Router v7엔 뭐가 생겼을까

React Router v7이 출시되서 공식 문서를 잠깐 살펴봤습니다.

주목할 만한 점은 React Router Vite Plugin을 통해 Next.js와 비슷한 기능 지원들을 제공받을 수 있다는 점입니다.

아래는 React Router Vite Plugin에서 제공하는 기능들입니다. (공식 문서의 글을 그대로 긁어왔습니다.)


  • Route loaders, actions, and automatic data revalidation

  • Typesafe Routes Modules

  • Automatic route code-splitting

  • Automatic scroll restoration across navigations

  • Optional Static pre-rendering

  • Optional Server rendering


대부분 Next.js의 내장 라우터에서 기본으로 제공하는 익숙한 기능들인데요, 특히 Static pre-rendering 기능이 눈에 띄었습니다.

Static pre-rendering 기능은 각 라우터를 빌드 타임에 정적 HTML로 빌드할 수 있는 기능입니다. 서버가 아닌 빌드 시점에 페이지를 렌더링하면 정적 콘텐츠 불러오는 속도를 높일 수 있습니다.

서버없이 운영 가능한 SPA의 장점은 누리면서 Vite로 정적 페이지를 미리 만들어놓을 수 있다는 점이 큰 메리트인 것 같습니다.

다만 해당 기능을 사용하려면 반드시 Vite에서 제공하는 React 플러그인을 React Router의 플러그인으로 대체해야 합니다. (아래 코드 참조)

// vite.config.ts

-import react from '@vitejs/plugin-react'
+import { reactRouter } from "@react-router/dev/vite";
import { defineConfig } from "vite";

export default defineConfig({
  plugins: [
-    react()
+    reactRouter()
  ],
});

저는 이 작업이 React Router에 대한 의존성을 강화시키는 것 같아서 유지보수 관점에서는 조금 우려스럽긴 합니다.


만약 여러분이 다양한 기능을 지원받고 싶다면 React Router의 Vite Plugin으로 대체하고, 그게 아니라면 Vite에서 제공하는 기존 플러그인을 사용하고 React Router는 기존처럼 라이브러리를 사용하시면 될 것 같습니다.


저희 팀에서 운영하는 프로덕트는 정적인 화면 보다는 사용자에 특화된 다이나믹한 화면의 비중이 높아서 아마도 라이브러리만 사용하는 형태로 가져가지 않을까 싶네요.


관련 내용이 궁금하시면 React Router 공식 문서의 Framework Adoption from Component Routes 페이지를 참고해 보세요.


https://reactrouter.com/upgrading/component-routes#features

Framework Adoption from Component Routes

reactrouter.com

Framework Adoption from Component Routes

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 12월 13일 오전 11:56

댓글 0

    함께 읽은 게시물

    📐 안드로이드 크롬에서 CSS vh 단위가 이상하게 동작했던 이유

    -

    ... 더 보기

    안드로이드 크롬에서 CSS vh 단위가 이상하게 동작했던 이유 - 재그지그의 개발 블로그

    재그지그의 개발 블로그

    안드로이드 크롬에서 CSS vh 단위가 이상하게 동작했던 이유 - 재그지그의 개발 블로그

     • 

    저장 13 • 조회 2,001


    칭찬은 매우 강력한 힘을 가지고 있다. 제대로 된 칭찬은 사람의 마음을 움직이고 관계를 깊게 만들며, 조직과 팀의 분위기를 바꾼다. 그러나 잘못된 칭찬은 오히려 부작용을 낳기도 한다. ‘칭찬은 고래도 춤추게 한다’라는 말처럼 칭찬의 힘은 강력하지만, 제대로 활용하려면 기술이 필요하다.

    ... 더 보기

    [명대성의 소통 본색] 칭찬에도 기술이 필요하다

    한국강사신문

    [명대성의 소통 본색] 칭찬에도 기술이 필요하다

    쿠팡의 대규모 트래픽 처리 전략 요약

    대규모 트래픽 처리와 관련된 글들을 써보려고 합니다. 반응이 좋으면 쿠팡 뿐 아니라 라인과 카카오에서는 어떤 전략을 바탕으로 처리하고 있는지도 정리해볼게요. 목적: - 고가용성 (High Availability) - 고처리량 (High Throughput) - 지연시간 최소화 (Low Latency) 전략: 통합 NoSQL 데이터 스토리지를 사용 - 제품 정보 (Catalog) 와 가격 (Price), 재고 (Fulfillment) 등의 데이터를 통합 저장하여 한 번의 읽기 작업으로 데이터 처리를 할 수 있도록 한다. (관계형 ... 더 보기

    캐시를 활용한 대용량 트래픽 처리 성능 향상

    Medium

    캐시를 활용한 대용량 트래픽 처리 성능 향상

     • 

    댓글 4 • 저장 322 • 조회 7,877


    2021년 출범한 이후 3년간 적자를 기록하던 토스증권은 지난해 처음으로 연간 흑자를 달성했다. 자기자본이 3000억원도 되지 않는 토스증권이 거둔 영업이익은 지난해 기준 1500억원에 달한다. 토스증권과 비슷한 수준의 영업이익을 거둔 대신증권(1374억원)의 자기자본은 3조원 이상, 교보증권(1677억원)의 자기자본은 2조원에 육박한다.

    ... 더 보기

    thebell Free

    m.thebell.co.kr

    thebell Free

    조회 554


    바이브 코딩이야말로 진정한 애자일이 아닌가.

    조회 2,884


    좋은 습관은 힘들게 얻고 좋은 습관을 읽는건 쉽습니다

    생각하지 못하다가 가끔 쓰는 일기를 쓰다가 느낀거 같아요

    ... 더 보기