diff options
author | dan <dan.abramov@gmail.com> | 2024-05-01 05:35:52 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-01 05:35:52 +0100 |
commit | 181e61bedb21003921fa21f6e8b86baf918d62bf (patch) | |
tree | f58a570df1aacf6b5c0d3dc070bcb948c2670005 /src/components/Portal.tsx | |
parent | 31cb3e54222afc0b56e9d3e7997e2229797ff11e (diff) | |
download | voidsky-181e61bedb21003921fa21f6e8b86baf918d62bf.tar.zst |
Memoize context value (#3786)
Diffstat (limited to 'src/components/Portal.tsx')
-rw-r--r-- | src/components/Portal.tsx | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/components/Portal.tsx b/src/components/Portal.tsx index d696f986b..03b397b2b 100644 --- a/src/components/Portal.tsx +++ b/src/components/Portal.tsx @@ -34,10 +34,17 @@ export function createPortalGroup() { setOutlet(<>{Object.values(map.current)}</>) }, []) + const contextValue = React.useMemo( + () => ({ + outlet, + append, + remove, + }), + [outlet, append, remove], + ) + return ( - <Context.Provider value={{outlet, append, remove}}> - {props.children} - </Context.Provider> + <Context.Provider value={contextValue}>{props.children}</Context.Provider> ) } |