react-router
react-router copied to clipboard
Expose routing promises
In order for React Router transitions to compose with React 19 transitions we need to expose the promises from all of our transition functions:
navigate()
submit()
fetcher.submit()
fetcher.load()
revalidator.revalidate()
This way developers can call into React Router from inside a React transition
let [isPending, startTransition] = useTransition()
startTransition(async () => {
let stuff = await doSomething()
let more = await fetcher.submit({ stuff }, { method: "post" })
});
Will add in 7.1
Very cool! I guess you can do this as well.
const [isPending, startTransition] = useTransition()
startTransition(async () => {
const [more, stuff] = await Promise.all([fetcher.submit({ stuff }, { method: "post" }), doSomething()]);
});