This repository was archived by the owner on Feb 28, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Update dependency react-router-dom to v6.22.1 #75
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/react-router-monorepo
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Deploying with
|
| Latest commit: |
e1683cd
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://c8be76bb.application-portal.pages.dev |
| Branch Preview URL: | https://renovate-react-router-monore.application-portal.pages.dev |
433f4af to
404753a
Compare
404753a to
5f9c819
Compare
5f9c819 to
86f2ef3
Compare
86f2ef3 to
f56463e
Compare
f56463e to
9cc6648
Compare
9cc6648 to
e77f292
Compare
e77f292 to
fc0cc3c
Compare
fc0cc3c to
20dda3d
Compare
20dda3d to
4a37ef1
Compare
4a37ef1 to
d4249b2
Compare
d4249b2 to
610fd8b
Compare
610fd8b to
7db0cae
Compare
7db0cae to
bda89b0
Compare
bda89b0 to
eb2fb2a
Compare
eb2fb2a to
fedbcf8
Compare
fedbcf8 to
9cafb49
Compare
9cafb49 to
ce83e98
Compare
ce83e98 to
fe775eb
Compare
fe775eb to
ac014f0
Compare
ac014f0 to
fd69197
Compare
fd69197 to
e1683cd
Compare
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
6.10.0->6.22.1Release Notes
remix-run/react-router (react-router-dom)
v6.22.1Compare Source
v6.22.0Compare Source
Minor Changes
window__reactRouterVersiontag for CWV Report detection (#11222)Patch Changes
@remix-run/router@1.15.0react-router@6.22.0v6.21.3Compare Source
Patch Changes
NavLinkisPendingwhen abasenameis used (#11195)unstable_prefix fromBlocker/BlockerFunctiontypes (#11187)react-router@6.21.3v6.21.2Compare Source
v6.21.1Compare Source
Patch Changes
react-router@6.21.1@remix-run/router@1.14.1v6.21.0Compare Source
Minor Changes
Add a new
future.v7_relativeSplatPathflag to implement a breaking bug fix to relative routing when inside a splat route. (#11087)This fix was originally added in #10983 and was later reverted in #11078 because it was determined that a large number of existing applications were relying on the buggy behavior (see #11052)
The Bug
The buggy behavior is that without this flag, the default behavior when resolving relative paths is to ignore any splat (
*) portion of the current route path.The Background
This decision was originally made thinking that it would make the concept of nested different sections of your apps in
<Routes>easier if relative routing would replace the current splat:Any paths like
/dashboard,/dashboard/team,/dashboard/projectswill match theDashboardroute. The dashboard component itself can then render nested<Routes>:Now, all links and route paths are relative to the router above them. This makes code splitting and compartmentalizing your app really easy. You could render the
Dashboardas its own independent app, or embed it into your large app without making any changes to it.The Problem
The problem is that this concept of ignoring part of a path breaks a lot of other assumptions in React Router - namely that
"."always means the current location pathname for that route. When we ignore the splat portion, we start getting invalid paths when using".":We've also introduced an issue that we can no longer move our
DashboardTeamcomponent around our route hierarchy easily - since it behaves differently if we're underneath a non-splat route, such as/dashboard/:widget. Now, our"."links will, properly point to ourself inclusive of the dynamic param value so behavior will break from it's corresponding usage in a/dashboard/*route.Even worse, consider a nested splat route configuration:
Now, a
<Link to=".">and a<Link to="..">inside theDashboardcomponent go to the same place! That is definitely not correct!Another common issue arose in Data Routers (and Remix) where any
<Form>should post to it's own routeactionif you the user doesn't specify a form action:This is just a compounded issue from the above because the default location for a
Formto submit to is itself (".") - and if we ignore the splat portion, that now resolves to the parent route.The Solution
If you are leveraging this behavior, it's recommended to enable the future flag, move your splat to it's own route, and leverage
../for any links to "sibling" pages:This way,
.means "the full current pathname for my route" in all cases (including static, dynamic, and splat routes) and..always means "my parents pathname".Patch Changes
@remix-run/router@1.14.0react-router@6.21.0v6.20.1Compare Source
Patch Changes
useResolvedPathfix for splat routes due to a large number of applications that were relying on the buggy behavior (see https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329). We plan to re-introduce this fix behind a future flag in the next minor version. (#11078)react-router@6.20.1@remix-run/router@1.13.1v6.20.0Compare Source
Minor Changes
PathParamtype from the public API (#10719)Patch Changes
react-router@6.20.0@remix-run/router@1.13.0v6.19.0Compare Source
Minor Changes
unstable_flushSyncoption touseNavigate/useSumbit/fetcher.load/fetcher.submitto opt-out ofReact.startTransitionand intoReactDOM.flushSyncfor state updates (#11005)unstable_usePromptto accept aBlockerFunctionin addition to aboolean(#10991)Patch Changes
keyin auseFetcherthat remains mounted wasn't getting picked up (#11009)useFormActionwhich was incorrectly inheriting the?indexquery param from child routeactionsubmissions (#11025)NavLinkactivelogic whentolocation has a trailing slash (#10734)react-router@6.19.0@remix-run/router@1.12.0v6.18.0Compare Source
Minor Changes
Add support for manual fetcher key specification via
useFetcher({ key: string })so you can access the same fetcher instance from different components in your application without prop-drilling (RFC) (#10960)useFetchersso that they can be looked up bykeyAdd
navigate/fetcherKeyparams/props touseSumbit/Formto support kicking off a fetcher submission under the hood with an optionally user-specifiedkey(#10960)useFetcher({ key })to look it up elsewherePatch Changes
RouterProviderthat holds completed fetcher data, in preparation for the upcoming future flag that will change the fetcher persistence/cleanup behavior (#10961)futureprop onBrowserRouter,HashRouterandMemoryRouterso that it accepts aPartial<FutureConfig>instead of requiring all flags to be included. (#10962)@remix-run/router@1.11.0react-router@6.18.0v6.17.0Compare Source
Minor Changes
Add experimental support for the View Transitions API via
document.startViewTransitionto enable CSS animated transitions on SPA navigations in your application. (#10916)The simplest approach to enabling a View Transition in your React Router app is via the new
<Link unstable_viewTransition>prop. This will cause the navigation DOM update to be wrapped indocument.startViewTransitionwhich will enable transitions for the DOM update. Without any additional CSS styles, you'll get a basic cross-fade animation for your page.If you need to apply more fine-grained styles for your animations, you can leverage the
unstable_useViewTransitionStatehook which will tell you when a transition is in progress and you can use that to apply classes or styles:You can also use the
<NavLink unstable_viewTransition>shorthand which will manage the hook usage for you and automatically add atransitioningclass to the<a>during the transition:For an example usage of View Transitions with React Router, check out our fork of the Astro Records demo.
For more information on using the View Transitions API, please refer to the Smooth and simple transitions with the View Transitions API guide from the Google Chrome team.
Please note, that because the
ViewTransitionAPI is a DOM API, we now export a specificRouterProviderfromreact-router-domwith this functionality. If you are importingRouterProviderfromreact-router, then it will not support view transitions. (#10928Patch Changes
ScrollRestorationwhensessionStorageis unavailable (#10848)@remix-run/router@1.10.0react-router@6.17.0v6.16.0Compare Source
Minor Changes
@remix-run/router@1.9.0react-router@6.16.0Patch Changes
v6.15.0Compare Source
Minor Changes
redirectDocument()function which allows users to specify that a redirect from aloader/actionshould trigger a document reload (viawindow.location) instead of attempting to navigate to the redirected location via React Router (#10705)Patch Changes
URLSearchParamsand theuseSearchParamshook. (#10620)useFormAction()for unspecified actions since it cannot be determined on the server and causes hydration issues (#10758)unstable_usePromptto avoid throwing an exception if the prompt is unblocked and a navigation is performed synchronously (#10687, #10718)@remix-run/router@1.8.0react-router@6.15.0v6.14.2Compare Source
Patch Changes
<ScrollRestoration>(#10682)<Form state>prop to populatehistory.stateon submission navigations (#10630)Errorsubclasses such asReferenceError/TypeError(#10633)@remix-run/router@1.7.2react-router@6.14.2v6.14.1Compare Source
Patch Changes
react-router@6.14.1@remix-run/router@1.7.1v6.14.0Compare Source
Minor Changes
Add support for
application/jsonandtext/plainencodings foruseSubmit/fetcher.submit. To reflect these additional types,useNavigation/useFetchernow also containnavigation.json/navigation.textandfetcher.json/fetcher.textwhich include the json/text submission if applicable (#10413)Patch Changes
submitterelement, prefer the built-innew FormData(form, submitter)instead of the previous manual approach in modern browsers (those that support the newsubmitterparameter) (#9865, #10627)type="image"buttonsformdata-submitter-polyfillwindow.history.pushState/replaceStatebefore updating React Router state (instead of after) so thatwindow.locationmatchesuseLocationduring synchronous React 17 rendering (#10448)window.locationand should always referenceuseLocationwhen possible, aswindow.locationwill not be in sync 100% of the time (due topopstateevents, concurrent mode, etc.)tsc --skipLibCheck:falseissues on React 17 (#10622)typescriptto 5.1 (#10581)react-router@6.14.0@remix-run/router@1.7.0v6.13.0Compare Source
Minor Changes
Move
React.startTransitionusage behind a future flag to avoid issues with existing incompatibleSuspenseusages. We recommend folks adopting this flag to be better compatible with React concurrent mode, but if you run into issues you can continue without the use ofstartTransitionuntil v7. Issues usually boils down to creating net-new promises during the render cycle, so if you run into issues you should either lift your promise creation out of the render cycle or put it behind auseMemo. (#10596)Existing behavior will no longer include
React.startTransition:If you wish to enable
React.startTransition, pass the future flag to your component:Patch Changes
React.startTransitionminification bug in production mode (#10588)react-router@6.13.0v6.12.1Compare Source
Patch Changes
React.startTransitionto fix webpack + react 17 compilation error (#10569)react-router@6.12.1v6.12.0Compare Source
Minor Changes
React.startTransitionif it exists (#10438)Patch Changes
DOMException(DataCloneError) when attempting to perform aPUSHnavigation with non-serializable state. (#10427)@remix-run/router@1.6.3react-router@6.12.0v6.11.2Compare Source
Patch Changes
SetURLSearchParamstype (#10444)react-router@6.11.2@remix-run/router@1.6.2v6.11.1Compare Source
Patch Changes
react-router@6.11.1@remix-run/router@1.6.1v6.11.0Compare Source
Minor Changes
basenamesupport inuseFetcher(#10336)basenamethen you will need to remove the manually prependedbasenamefrom yourfetchercalls (fetcher.load('/basename/route') -> fetcher.load('/route'))Patch Changes
Componentinstead ofelementon a route definition (#10287)<Link to="//">and other invalid URL values (#10367)useSyncExternalStoretouseStatefor internal@remix-run/routerrouter state syncing in<RouterProvider>. We found some subtle bugs where router state updates got propagated before other normaluseStateupdates, which could lead to footguns inuseEffectcalls. (#10377, #10409)StaticRouterProvider's internalRoutercomponent (#10401)RouterProvider,useNavigate/useSubmit/fetcher.submitare now stable across location changes, since we can handle relative routing via the@remix-run/routerinstance and get rid of our dependence onuseLocation(). When usingBrowserRouter, these hooks remain unstable across location changes because they still rely onuseLocation(). (#10336)react-router@6.11.0@remix-run/router@1.6.0Configuration
📅 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 this update again.
This PR has been generated by Mend Renovate. View repository job log here.