Skip to content

Commit eb427b3

Browse files
committed
Move optimistic calls inside transitions
1 parent 0f5be98 commit eb427b3

File tree

2 files changed

+17
-10
lines changed

2 files changed

+17
-10
lines changed

packages/react-router/lib/components.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -624,10 +624,12 @@ export function RouterProvider({
624624
} else if (unstable_transitions === false) {
625625
logErrorsAndSetState(newState);
626626
} else {
627-
if (unstable_transitions === true) {
628-
setOptimisticState(newState);
629-
}
630-
React.startTransition(() => logErrorsAndSetState(newState));
627+
React.startTransition(() => {
628+
if (unstable_transitions === true) {
629+
setOptimisticState(newState);
630+
}
631+
logErrorsAndSetState(newState);
632+
});
631633
}
632634
return;
633635
}
@@ -724,7 +726,12 @@ export function RouterProvider({
724726
if (unstable_transitions === false) {
725727
logErrorsAndSetState(newState);
726728
} else {
727-
React.startTransition(() => logErrorsAndSetState(newState));
729+
React.startTransition(() => {
730+
if (unstable_transitions === true) {
731+
setOptimisticState(newState);
732+
}
733+
logErrorsAndSetState(newState);
734+
});
728735
}
729736
await renderPromise;
730737
});

packages/react-router/lib/hooks.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1869,12 +1869,12 @@ function useNavigateStable(): NavigateFunction {
18691869
}
18701870
});
18711871
});
1872-
}
1873-
1874-
if (typeof to === "number") {
1875-
router.navigate(to);
18761872
} else {
1877-
await router.navigate(to, { fromRouteId: id, ...options });
1873+
if (typeof to === "number") {
1874+
router.navigate(to);
1875+
} else {
1876+
await router.navigate(to, { fromRouteId: id, ...options });
1877+
}
18781878
}
18791879
},
18801880
[router, id, unstable_transitions],

0 commit comments

Comments
 (0)