✍️ 기록/React
[React Router v7 경고] React Router will begin wrapping state updates in React.startTransition in v7 / Relative route resolution within Splat routes is changing in v7
김물사
2025. 3. 12. 16:57
📌 React Router v7 경고 메시지
React Router v7로의 업그레이드를 준비하는 과정에서 발생하는 경고 메시지는 향후 버전에서의 변경 사항을 대비에 대한 안내
📍 React Router will begin wrapping state updates in React.startTransition in v7
- startTransition 기능이 React Router v7에서 상태 업데이트에 적용될 것이라는 알림(경고)
📗 해결 방법
<RouterProvider
router={router}
future={{ v7_startTransition: true }} // 추가
/>
📍 Relative route resolution within Splat routes is changing in v7
- React Router v7에서는 Splat 경로 내에서 상대 경로를 해석하는 방식이 변경될 예정이라는 알림(경고)
- React Router v6에서 상대 경로와 Splat 경로를 함께 사용할 때 예상과 다른 결과가 발생할 수 있습니다.
📗 해결 방법
v7_relativeSplatPath: true 옵션을 사용하여 새로운 방식에 대한 설정을 미리 적용
export const router = createBrowserRouter(
[
{
path: "/",
element: <App />,
children: [
...routerList
],
errorElement: <ErrorPage />
},
{
path: "/*",
element: <ErrorPage />
},
],
{
future: {
v7_relativeSplatPath: true, // 추가
},
}
);
📍 v7_startTransition: true와 v7_relativeSplatPath: true 두 옵션을 동시에 설정할 수 없는 이유
✅ v7_startTransition: true와 v7_relativeSplatPath: true는 각각 다른 위치에서 설정되기 때문에 같은 future 객체 내에서 동시에 사용할 수 없습니다.
- v7_startTransition은 RouterProvider의 future 옵션 내에서 설정
- v7_relativeSplatPath는 createBrowserRouter의 future 옵션 내에서 설정
✅ 경고가 사라진 것을 확인할 수 있어요.
경고를 무시해도 영향은 없고 경고문을 사라지게 하기 위한 해결방법이었습니다.
✍️ 기록
감사합니다. 😁
반응형