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)
Fetcher keys are now also exposed on the fetchers returned from useFetchers so that they can be looked up by key
Add navigate/fetcherKey params/props to useSumbit/Form to support kicking off a fetcher submission under the hood with an optionally user-specified key (#10960)
Invoking a fetcher in this way is ephemeral and stateless
If you need to access the state of one of these fetchers, you will need to leverage useFetcher({ key }) to look it up elsewhere
Patch Changes
Adds a fetcher context to RouterProvider that holds completed fetcher data, in preparation for the upcoming future flag that will change the fetcher persistence/cleanup behavior (#10961)
Fix the future prop on BrowserRouter, HashRouter and MemoryRouter so that it accepts a Partial<FutureConfig> instead of requiring all flags to be included. (#10962)
Updated dependencies:
@remix-run/router@1.11.0
react-router@6.18.0
6.17.0
Minor Changes
Add experimental support for the View Transitions API via document.startViewTransition to 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 in document.startViewTransition which 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_useViewTransitionState hook 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 a transitioning class to the <a> during the transition:
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps react-router-dom from 6.15.0 to 6.18.0.
Release notes
Sourced from react-router-dom's releases.
... (truncated)
Changelog
Sourced from react-router-dom's changelog.
... (truncated)
Commits
667f936
chore: Update version for release (#10981)67af262
chore: Update version for release (pre) (#10978)1500288
Updates for v7_fetcherPersist post-processing logic (#10977)cacc90b
chore: Update version for release (pre) (#10966)19af0cf
Add future.v7_fetcherPersist flag (#10962)cb2d911
Add fetcher data layer (#10961)c0dbcd2
Add useFetcher(key) and <Form navigate={false}> (#10960)805924d
Revert "Ensure Form contains splat portion of pathname when no action is spec...908a40a
Ensure Form contains splat portion of pathname when no action is specified (#...a71b4e2
Merge branch 'release-next' into devDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show