Skip to content

Commit b67d239

Browse files
committed
Made element returned by useOutlet have stable reference
1 parent bd50e07 commit b67d239

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

packages/react-router/lib/hooks.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -320,12 +320,15 @@ export function useOutletContext<Context = unknown>(): Context {
320320
*/
321321
export function useOutlet(context?: unknown): React.ReactElement | null {
322322
let outlet = React.useContext(RouteContext).outlet;
323-
if (outlet) {
324-
return (
325-
<OutletContext.Provider value={context}>{outlet}</OutletContext.Provider>
326-
);
327-
}
328-
return outlet;
323+
return React.useMemo(
324+
() =>
325+
outlet && (
326+
<OutletContext.Provider value={context}>
327+
{outlet}
328+
</OutletContext.Provider>
329+
),
330+
[outlet, context]
331+
);
329332
}
330333

331334
/**

0 commit comments

Comments
 (0)