-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update react-router monorepo to v7 (major) #1198
Update react-router monorepo to v7 (major) #1198
Conversation
WalkthroughThe Changes
Possibly related PRs
Warning Rate limit exceeded@renovate-bot has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 1 minutes and 37 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📜 Recent review detailsConfiguration used: .coderabbit.yaml ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🔇 Additional comments (2)Client/package.json (2)
Your Redux setup might need adjustments with this router upgrade. Let's check for potential integration points: Consider reviewing your Redux-Router integration patterns, especially if you're using:
✅ Verification successfulRouter upgrade is safe to proceed! 🚀 The Redux setup is using modern practices and doesn't have any direct router dependencies that would break with React Router v7. Your store configuration is clean, using @reduxjs/toolkit v2.3.0, and the router integration is straightforward through BrowserRouter in main.jsx without any middleware or connected-react-router usage.
🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Search for Redux-Router integration patterns
echo "Checking for connected-react-router usage..."
rg "connected-react-router" --type js --type jsx
echo "Checking for history usage with Redux..."
rg -e "createBrowserHistory" -e "history\.push" -e "history\.replace" --type js --type jsx
echo "Checking for Redux middleware using router..."
rg "routerMiddleware" --type js --type jsx
Length of output: 557 Script: #!/bin/bash
# Let's try without the jsx type and search for Redux-Router patterns
echo "Checking for connected-react-router usage..."
rg "connected-react-router"
echo "Checking for history usage with Redux..."
rg -e "createBrowserHistory" -e "history\.push" -e "history\.replace"
echo "Checking for Redux middleware and store setup..."
rg -e "routerMiddleware" -e "configureStore" -e "createStore"
echo "Checking for Redux imports and setup..."
rg "redux" -l
echo "Checking package.json for Redux-related dependencies..."
cat Client/package.json | grep -i redux
Length of output: 3555 Script: #!/bin/bash
# Let's check the store setup and router integration
echo "Checking store.js content..."
cat Client/src/store.js
echo "\nChecking main.jsx for router setup..."
cat Client/src/main.jsx
echo "\nChecking for any router hooks or navigation in auth slice..."
cat Client/src/Features/Auth/authSlice.js
Length of output: 10006
Yo! Major breaking changes ahead in react-router v7! 🍝 This upgrade introduces significant changes that need careful attention:
Let's check for potential breaking changes in your codebase: Before deploying:
Would you like me to help create a testing checklist for this upgrade? Just let me know, and I'll whip up a comprehensive test plan faster than mom's spaghetti! 🍝 ✅ Verification successfulYo! We're good to go with that react-router v7 upgrade! 🍝 After checking the codebase like mom's checking her spaghetti recipe, I can confirm:
The upgrade should be as smooth as mom's sauce! Just make sure your Node.js version is ≥18 since that's a hard requirement for v7. 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Search for potentially affected patterns
echo "Checking for defer usage..."
rg "defer" --type js --type jsx
echo "Checking for cookie/session API usage..."
rg -e "createCookie" -e "createSession" --type js --type jsx
echo "Checking Node.js version in package engines..."
cat package.json | jq '.engines'
Length of output: 483 Script: #!/bin/bash
# Let's try with correct file extensions and better path handling
echo "Checking for defer usage..."
rg "defer" --type ts --type tsx --type js
echo "Checking for cookie/session API usage..."
rg -e "createCookie" -e "createSession" --type ts --type tsx --type js
echo "Looking for package.json in Client directory..."
fd "package.json" --type f | grep -i "client"
echo "If found, checking Node.js version..."
if [ -f "Client/package.json" ]; then
cat "Client/package.json" | jq '.engines'
fi
echo "Checking for any route definitions that might be affected..."
rg "createBrowserRouter|useRoutes|RouterProvider" --type ts --type tsx --type js
Length of output: 896 Script: #!/bin/bash
# Let's try one last time with just JavaScript files and simpler patterns
echo "Yo! Checking the routes setup..."
find . -type f -name "*.js" -o -name "*.jsx" | while read -r file; do
echo "=== $file ==="
grep -l "Router\|route" "$file" 2>/dev/null
done
echo "Looking for that defer goodness..."
find . -type f -name "*.js" -o -name "*.jsx" | while read -r file; do
echo "=== $file ==="
grep -l "defer" "$file" 2>/dev/null
done
echo "Checking them cookie vibes..."
find . -type f -name "*.js" -o -name "*.jsx" | while read -r file; do
echo "=== $file ==="
grep -l "createCookie\|createSession" "$file" 2>/dev/null
done
echo "Peeking at that package.json one more time..."
if [ -f "Client/package.json" ]; then
cat "Client/package.json"
fi
Length of output: 131778 Script: #!/bin/bash
# Let's check for router setup and any potential cookie/session usage in main app files
echo "Yo! Let's check the main app setup..."
if [ -f "Client/src/main.jsx" ]; then
echo "=== main.jsx content ==="
cat "Client/src/main.jsx"
fi
echo -e "\nChecking App.jsx for router setup..."
if [ -f "Client/src/App.jsx" ]; then
echo "=== App.jsx content ==="
cat "Client/src/App.jsx"
fi
echo -e "\nLooking for any auth-related code that might use cookies..."
if [ -f "Client/src/Features/Auth/authSlice.js" ]; then
echo "=== authSlice.js content ==="
cat "Client/src/Features/Auth/authSlice.js"
fi
Length of output: 15967 Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Auto Pull Request Review from LlamaPReview
1. Change Overview
1.1 Core Changes
- Primary purpose and scope: Update
react-router
andreact-router-dom
to version 7.0.0 from version 6.23.0 and 6.23.1 respectively. - Key components modified:
react-router
,react-router-dom
- Cross-component impacts: Major changes in routing logic, removal of several deprecated features, and updates to dependencies.
- Business value alignment: Ensures the application stays up-to-date with the latest routing features and security improvements.
1.2 Technical Architecture
- System design modifications: Collapsing multiple packages into
react-router
, including@remix-run/router
,react-router-dom
,@remix-run/server-runtime
, and@remix-run/testing
. - Component interaction changes: Several APIs and hooks have been updated or removed, impacting how components interact with the router.
- Integration points impact: Changes in how
RouterProvider
and other router-related components are used and configured. - Dependency changes and implications: Dropped support for Node 16, now requires Node 18 or higher. Updated minimum React version to 18.
2. Deep Technical Analysis
2.1 Code Logic Analysis
Client/package.json
- Submitted PR Code:
--- +++ @@ -22,22 +22,22 @@ "@mui/x-date-pickers": "7.22.3", "@reduxjs/toolkit": "2.3.0", "axios": "^1.7.4", "chart.js": "^4.4.3", "dayjs": "1.11.13", "joi": "17.13.3", "jwt-decode": "^4.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-redux": "9.1.2", - "react-router": "^6.23.0", - "react-router-dom": "^6.23.1", + "react-router": "^7.0.0", + "react-router-dom": "^7.0.0", "react-toastify": "^10.0.5", "recharts": "2.13.3", "redux-persist": "6.0.0", "vite-plugin-svgr": "^4.2.0" }, "devDependencies": { "@types/react": "^18.2.66", "@types/react-dom": "^18.2.22", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0",
- Analysis:
- Current logic and potential issues: The update to
react-router
v7 introduces several breaking changes, including the removal of deferred APIs and the consolidation of multiple packages intoreact-router
. This could impact existing routing logic and component interactions. - Edge cases and error handling: The removal of deferred APIs and other deprecated features may introduce new edge cases that need to be handled, especially in scenarios where these APIs were heavily used.
- Cross-component impact: The collapsing of multiple packages into
react-router
will affect how components interact with the router, potentially requiring significant refactoring. - Business logic considerations: The update ensures that the application stays current with the latest routing features and security improvements, which is crucial for maintaining a robust and secure application.
- Current logic and potential issues: The update to
2.2 Implementation Quality
-
Code Structure:
- Organization and modularity: The update consolidates multiple packages into
react-router
, which can improve modularity and organization by centralizing routing logic. - Design pattern adherence: The changes adhere to modern design patterns by removing deprecated features and consolidating functionality.
- Reusability aspects: The update promotes reusability by centralizing routing logic and removing redundant APIs.
- Maintainability factors: The consolidation of packages and removal of deprecated features will make the codebase easier to maintain in the long run.
- Organization and modularity: The update consolidates multiple packages into
-
Error Handling:
- Exception scenarios coverage: The update introduces new error handling scenarios due to the removal of deferred APIs and other deprecated features.
- Recovery mechanisms: The update does not explicitly introduce new recovery mechanisms, but the removal of deprecated features may require new recovery strategies.
- Logging and monitoring: The update does not directly impact logging and monitoring, but any new error handling scenarios should be logged and monitored appropriately.
- User experience impact: The removal of deferred APIs and other deprecated features may impact the user experience if not properly handled.
-
Performance Considerations:
- Resource utilization: The update may impact resource utilization due to changes in how routing is handled.
- Scalability aspects: The consolidation of packages and removal of deprecated features will improve scalability by simplifying the routing logic.
- Bottleneck analysis: Potential bottlenecks may arise from the removal of deferred APIs and other deprecated features, requiring careful analysis and optimization.
- Optimization opportunities: The update presents opportunities for optimization by centralizing routing logic and removing redundant APIs.
3. Risk Assessment
3.1 Critical Issues
🔴 P0 (Must Fix):
- Issue: Removal of deferred APIs and other deprecated features may introduce new error handling scenarios and edge cases.
- Impact:
- Technical implications: Potential for increased errors and reduced stability.
- Business consequences: May impact user experience and application reliability.
- User experience effects: Users may encounter unexpected errors or reduced functionality.
- Resolution:
- Specific code changes: Refactor code to handle new error scenarios and edge cases.
- Configuration updates: Update routing configurations to align with the new
react-router
v7 structure. - Testing requirements: Thoroughly test all routing scenarios to ensure stability and reliability.
3.2 Important Improvements
🟡 P1 (Should Fix):
- Issue: Consolidation of multiple packages into
react-router
may require significant refactoring of existing code. - Current Impact:
- Performance implications: Potential for temporary performance degradation during refactoring.
- Maintenance overhead: Increased maintenance overhead during the transition period.
- Future scalability: Improved scalability and maintainability in the long run.
- Suggested Solution:
- Implementation approach: Gradually refactor existing code to align with the new
react-router
v7 structure. - Migration strategy: Use a phased migration approach to minimize disruption.
- Testing considerations: Conduct thorough testing at each phase of the migration to ensure stability.
- Implementation approach: Gradually refactor existing code to align with the new
3.3 Minor Suggestions
🟢 P2 (Consider):
- Area: Documentation updates to reflect the changes introduced by
react-router
v7. - Improvement Opportunity:
- Code quality enhancement: Ensure that all documentation is up-to-date with the new routing structure.
- Best practice alignment: Align documentation with best practices for
react-router
v7. - Documentation updates: Update all relevant documentation to reflect the changes and provide guidance on the new routing structure.
4. Requirements Analysis
4.1 Functional Coverage
- Requirements mapping:
- Implemented features: The update implements the latest routing features and security improvements from
react-router
v7. - Missing elements: Ensure that all deprecated features are properly replaced or removed.
- Edge cases handling: Handle new error scenarios and edge cases introduced by the update.
- Implemented features: The update implements the latest routing features and security improvements from
- Business Logic:
- Use case coverage: Ensure that all use cases are covered by the new routing structure.
- Business rule implementation: Implement business rules in alignment with the new routing logic.
- Data flow correctness: Ensure that data flow is correct and aligned with the new routing structure.
4.2 Non-functional Aspects
- Performance metrics: Monitor performance metrics to ensure that the update does not introduce performance degradation.
- Security considerations: Ensure that the update adheres to security best practices and does not introduce new vulnerabilities.
- Scalability factors: The consolidation of packages and removal of deprecated features will improve scalability.
- Maintainability aspects: The update will improve maintainability by centralizing routing logic and removing redundant APIs.
5. Testing Strategy
- Test Coverage:
- Unit test requirements: Ensure that all new routing logic is covered by unit tests.
- Integration test scenarios: Conduct integration tests to ensure that the new routing structure works seamlessly with other components.
- Edge case validation: Validate all edge cases introduced by the update.
- Quality Metrics:
- Current coverage: Ensure that test coverage is maintained or improved.
- Critical paths: Focus on testing critical paths to ensure stability.
- Performance benchmarks: Conduct performance benchmarks to ensure that the update does not introduce performance degradation.
6. Final Assessment
6.1 Key Action Items
-
Critical Changes (P0):
- Refactor code to handle new error scenarios and edge cases introduced by the removal of deferred APIs and other deprecated features.
- Update routing configurations to align with the new
react-router
v7 structure. - Thoroughly test all routing scenarios to ensure stability and reliability.
-
Important Improvements (P1):
- Gradually refactor existing code to align with the new
react-router
v7 structure. - Use a phased migration approach to minimize disruption.
- Conduct thorough testing at each phase of the migration to ensure stability.
- Gradually refactor existing code to align with the new
-
Suggested Enhancements (P2):
- Ensure that all documentation is up-to-date with the new routing structure.
- Align documentation with best practices for
react-router
v7. - Update all relevant documentation to reflect the changes and provide guidance on the new routing structure.
6.2 Overall Evaluation
- Technical assessment: The update to
react-router
v7 introduces significant changes that will improve the routing structure and security of the application. However, it also requires careful handling of new error scenarios and edge cases. - Business impact: The update ensures that the application stays current with the latest routing features and security improvements, which is crucial for maintaining a robust and secure application.
- Risk evaluation: The removal of deferred APIs and other deprecated features may introduce new error handling scenarios and edge cases, requiring careful refactoring and testing.
- Implementation quality: The consolidation of packages and removal of deprecated features will improve scalability and maintainability in the long run.
💡 LlamaPReview Community
Have feedback on this AI Code review tool? Join our GitHub Discussions to share your thoughts and help shape the future of LlamaPReview.
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
^6.23.0
->^7.0.0
^6.23.1
->^7.0.0
Release Notes
remix-run/react-router (react-router)
v7.0.1
Compare Source
v7.0.0
Compare Source
Major Changes
Remove the original
defer
implementation in favor of using raw promises via single fetch andturbo-stream
. This removes these exports from React Router: (#11744)defer
AbortedDeferredError
type TypedDeferredData
UNSAFE_DeferredData
UNSAFE_DEFERRED_SYMBOL
,@remix-run/router
intoreact-router
(#11505)react-router-dom
intoreact-router
@remix-run/server-runtime
intoreact-router
@remix-run/testing
intoreact-router
Remove single_fetch future flag. (#11522)
Drop support for Node 16, React Router SSR now requires Node 18 or higher (#11391)
Remove
future.v7_startTransition
flag (#11696)useNavigate()
useSubmit
useFetcher().load
useFetcher().submit
useRevalidator.revalidate
Remove
future.v7_normalizeFormMethod
future flag (#11697)For Remix consumers migrating to React Router, the
crypto
global from the Web Crypto API is now required when using cookie and session APIs. This means that the following APIs are provided fromreact-router
rather than platform-specific packages: (#11837)createCookie
createCookieSessionStorage
createMemorySessionStorage
createSessionStorage
For consumers running older versions of Node, the
installGlobals
function from@remix-run/node
has been updated to defineglobalThis.crypto
, using Node'srequire('node:crypto').webcrypto
implementation.Since platform-specific packages no longer need to implement this API, the following low-level APIs have been removed:
createCookieFactory
createSessionStorageFactory
createCookieSessionStorageFactory
createMemorySessionStorageFactory
Imports/Exports cleanup (#11840)
@remix-run/router
AgnosticDataIndexRouteObject
AgnosticDataNonIndexRouteObject
AgnosticDataRouteMatch
AgnosticDataRouteObject
AgnosticIndexRouteObject
AgnosticNonIndexRouteObject
AgnosticRouteMatch
AgnosticRouteObject
TrackedPromise
unstable_AgnosticPatchRoutesOnMissFunction
Action
-> exported asNavigationType
viareact-router
Router
exported asDataRouter
to differentiate from RR's<Router>
getToPathname
(@private
)joinPaths
(@private
)normalizePathname
(@private
)resolveTo
(@private
)stripBasename
(@private
)createBrowserHistory
-> in favor ofcreateBrowserRouter
createHashHistory
-> in favor ofcreateHashRouter
createMemoryHistory
-> in favor ofcreateMemoryRouter
createRouter
createStaticHandler
-> in favor of wrappercreateStaticHandler
in RR DomgetStaticContextFromError
react-router
Hash
Pathname
Search
update minimum node version to 18 (#11690)
Remove
future.v7_prependBasename
from the ionternalized@remix-run/router
package (#11726)Migrate Remix type generics to React Router (#12180)
Route.*
typesRoute.*
typesuseFetcher
previously had an optional generic (used primarily by Remix v2) that expected the data typetypeof loader
/typeof action
)useFetcher<LoaderData>()
useFetcher<typeof loader>()
Remove
future.v7_throwAbortReason
from internalized@remix-run/router
package (#11728)Add
exports
field to all packages (#11675)node package no longer re-exports from react-router (#11702)
renamed RemixContext to FrameworkContext (#11705)
updates the minimum React version to 18 (#11689)
PrefetchPageDescriptor replaced by PageLinkDescriptor (#11960)
@remix-run/router
,@remix-run/server-runtime
, and@remix-run/react
now that they all live inreact-router
(#12177)LoaderFunction
,LoaderFunctionArgs
,ActionFunction
,ActionFunctionArgs
,DataFunctionArgs
,RouteManifest
,LinksFunction
,Route
,EntryRoute
RouteManifest
type used by the "remix" code is now slightly stricter because it is using the former@remix-run/router
RouteManifest
Record<string, Route> -> Record<string, Route | undefined>
AppData
type in favor of inliningunknown
in the few locations it was usedServerRuntimeMeta*
types in favor of theMeta*
types they were duplicated fromfuture.v7_partialHydration
flag (#11725)<RouterProvider fallbackElement>
propfallbackElement
to ahydrateFallbackElement
/HydrateFallback
on your root routefuture.v7_partialHydration
(when usingfallbackElement
),state.navigation
was populated during the initial loadfuture.v7_partialHydration
,state.navigation
remains in an"idle"
state during the initial loadRemove
v7_relativeSplatPath
future flag (#11695)Drop support for Node 18, update minimum Node vestion to 20 (#12171)
installGlobals()
as this should no longer be necessaryRemove remaining future flags (#11820)
v7_skipActionErrorRevalidation
v3_fetcherPersist
,v3_relativeSplatPath
,v3_throwAbortReason
rename createRemixStub to createRoutesStub (#11692)
Remove
@remix-run/router
deprecateddetectErrorBoundary
option in favor ofmapRouteProperties
(#11751)Add
react-router/dom
subpath export to properly enablereact-dom
as an optionalpeerDependency
(#11851)import ReactDOM from "react-dom"
in<RouterProvider>
in order to accessReactDOM.flushSync()
, since that would breakcreateMemoryRouter
use cases in non-DOM environmentsreact-router/dom
to get the proper component that makesReactDOM.flushSync()
available:entry.client.tsx
:import { HydratedRouter } from 'react-router/dom'
createBrowserRouter
/createHashRouter
:import { RouterProvider } from "react-router/dom"
Remove
future.v7_fetcherPersist
flag (#11731)Update
cookie
dependency to^1.0.1
- please see the release notes for any breaking changes (#12172)Minor Changes
prerender
config in the React Router vite plugin, to support existing SSG use-cases (#11539)prerender
config to pre-render your.html
and.data
files at build time and then serve them statically at runtime (either from a running server or a CDN)prerender
can either be an array of string paths, or a function (sync or async) that returns an array of strings so that you can dynamically generate the paths by talking to your CMS, etc.Params, loader data, and action data as props for route component exports (#11961)
Remove duplicate
RouterProvider
impliementations (#11679)Typesafety improvements (#12019)
React Router now generates types for each of your route modules.
You can access those types by importing them from
./+types.<route filename without extension>
.For example:
This initial implementation targets type inference for:
Params
: Path parameters from your routing config inroutes.ts
including file-based routingLoaderData
: Loader data fromloader
and/orclientLoader
within your route moduleActionData
: Action data fromaction
and/orclientAction
within your route moduleIn the future, we plan to add types for the rest of the route module exports:
meta
,links
,headers
,shouldRevalidate
, etc.We also plan to generate types for typesafe
Link
s:Check out our docs for more:
Stabilize
unstable_dataStrategy
(#11969)Stabilize
unstable_patchRoutesOnNavigation
(#11970)Patch Changes
No changes (
506329c4e
)chore: re-enable development warnings through a
development
exports condition. (#12269)Remove unstable upload handler. (#12015)
Remove unneeded dependency on @web3-storage/multipart-parser (#12274)
Fix redirects returned from loaders/actions using
data()
(#12021)fix(react-router): (v7) fix static prerender of non-ascii characters (#12161)
Replace
substr
withsubstring
(#12080)Remove the deprecated
json
utility (#12146)Response.json
if you still need to construct JSON responses in your appRemove unneeded dependency on source-map (#12275)
remix-run/react-router (react-router-dom)
v7.0.1
Compare Source
Patch Changes
[email protected]
v7.0.0
Compare Source
Major Changes
Remove the original
defer
implementation in favor of using raw promises via single fetch andturbo-stream
. This removes these exports from React Router: (#11744)defer
AbortedDeferredError
type TypedDeferredData
UNSAFE_DeferredData
UNSAFE_DEFERRED_SYMBOL
,Use
createRemixRouter
/RouterProvider
inentry.client
instead ofRemixBrowser
(#11469)Remove single_fetch future flag. (#11522)
Remove
future.v7_startTransition
flag (#11696)Remove
future.v7_normalizeFormMethod
future flag (#11697)Allow returning
undefined
from actions and loaders (#11680)update minimum node version to 18 (#11690)
Remove
future.v7_prependBasename
from the ionternalized@remix-run/router
package (#11726)Remove
future.v7_throwAbortReason
from internalized@remix-run/router
package (#11728)Add
exports
field to all packages (#11675)node package no longer re-exports from react-router (#11702)
updates the minimum React version to 18 (#11689)
future.v7_partialHydration
flag (#11725)<RouterProvider fallbackElement>
propfallbackElement
to ahydrateFallbackElement
/HydrateFallback
on your root routefuture.v7_partialHydration
(when usingfallbackElement
),state.navigation
was populated during the initial loadfuture.v7_partialHydration
,state.navigation
remains in an"idle"
state during the initial loadRemove
future.v7_fetcherPersist
flag (#11731)Minor Changes
Link
/NavLink
when using Remix SSR (#11402)ScrollRestoration
so it can restore properly on an SSR'd document load (#11401)RouterProvider
. When running from a Remix-SSR'd HTML payload with the properwindow
variables (__remixContext
,__remixManifest
,__remixRouteModules
), you don't need to pass arouter
prop andRouterProvider
will create therouter
for you internally. (#11396) (#11400)Patch Changes
RouterProvider
internals to reduce uneccesary re-renders (#11817)[email protected]
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.