Use case
Framework
Owner
React Router/6/UseHistory To UseNavigate
This codemod migrates
useHistory
touseNavigate
in React Router codebases. It replacesuseHistory
imports and updates all instances ofhistory.push
,history.replace
,go
,goBack
, andgoForward
to align with theuseNavigate
API.React Router/6/Switch To Routes
This codemod updates
Switch
components toRoutes
in React Router, in line with React Router v6 and newer. It also adjusts the imports, replacingSwitch
withRoutes
inreact-router-dom
import statements.React Router/6/Migrate StaticRouter Import
This codemod updates imports of
StaticRouter
to use thereact-router-dom/server
package instead ofreact-router-dom
, in line with updated React Router requirements.React Router/6/Seperate Link State Prop
This codemod simplifies the
Link
component by transforming itsto
prop from an object with apathname
to a string. It removes the unnecessary object wrapper around thepathname
, maintaining thestate
prop as is.React Router/6/Replace UseRouteMatchWithUseMatch
This codemod updates
useRouteMatch
calls to the neweruseMatch
function inreact-router-dom
. It also adjusts any arguments passed touseRouteMatch
, changingstrict
toend
andsensitive
tocaseSensitive
. Additionally, it ensures that imports are updated to reflect the removal ofuseRouteMatch
.React Router/6/Reorder Matchpath Args
This codemod reorders the arguments in the
matchPath
function calls. It switches the position of the string path and the second callback argument, improving consistency and readability.React Router/6/Remove ActiveStyleprops
This codemod updates
NavLink
components that use separatestyle
andactiveStyle
props to the modernisActive
function inreact-router-dom
. It simplifies the logic by combining the two props into a singlestyle
prop with conditional styling.React Router/6/Update Relative Links
This codemod modernizes
Route
andLink
components in React Router by:- Removing the deprecated
exact
prop fromRoute
. - Updating
Route
to use theelement
prop. - Rewriting dynamic
Link
andRoute
paths that use template literals like${match.url}
and${match.path}
.
- Removing the deprecated
React Router/5.1/Redirect To Navigate
This codemod updates deprecated
Redirect
components fromreact-router-dom
to the modernNavigate
API. It also updates the imports by replacingRedirect
withNavigate
.React Router/6/React Router Config To Use Routes
This codemod helps update code that uses
react-router-config
to the modernuseRoutes
API fromreact-router-dom
. It removesrenderRoutes
from imports and replaces it withuseRoutes
. Manual adjustments might be required after running the codemod, especially if other customizations exist in your routing logic.React Router/6/Navlink Exact To End
This codemod replaces the deprecated
exact
prop inNavLink
with the modernend
prop. React Router v6 and beyond useend
to indicate that the path should match exactly, making this a necessary update for compatibility with newer versions.React Router/5.1/Component Render To Children
This codemod transforms
Route
components usingrender
andcomponent
props into JSX with nested children.React Router/7/Update Imports
In v7 the react-router and react-router-dom packages are combined so this codemod import everything directly from "react-router" except for the RouterProvider exception.
React Router/7/Migration Recipe
This codemods designed to facilitate the migration of your project from React Router to version 7. Each codemod targets specific changes and improvements introduced in React Router v7, ensuring a smoother transition.
React Router/7/Add V7 SkipActionStatusRevalidation Flag
This transformation adds the necessary configuration to enable v7 features, specifically the v7_skipActionStatusRevalidation flag.
React Router/7/Add V7 PartialHydration Flag
This transformation adds the necessary configuration to enable v7 features, specifically the v7_partialHydration_Flag flags
React Router/7/Add V7 NormalizeFormMethod
This transformation adds the necessary configuration to enable v7 features, specifically adds the v7_normalizeFormMethod
React Router/7/Add V7 FetcherPersist Flag
This transformation adds the necessary configuration to enable v7 features, specifically the v7_fetcherPersist flags
React Router/7/Add V7 StartTransition Flag
This transformation adds the necessary configuration to enable v7 features, specifically the v7_startTransition flags. It affects , , and createBrowserRouter configurations.
React Router/7/Add V7 RelativeSplatPath Flag
This transformation adds the necessary configuration to enable v7 features, specifically the v7_relativeSplatPath flag. It affects both components and createBrowserRouter configurations.