about summary refs log tree commit diff
path: root/src/components
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2024-05-01 05:35:52 +0100
committerGitHub <noreply@github.com>2024-05-01 05:35:52 +0100
commit181e61bedb21003921fa21f6e8b86baf918d62bf (patch)
treef58a570df1aacf6b5c0d3dc070bcb948c2670005 /src/components
parent31cb3e54222afc0b56e9d3e7997e2229797ff11e (diff)
downloadvoidsky-181e61bedb21003921fa21f6e8b86baf918d62bf.tar.zst
Memoize context value (#3786)
Diffstat (limited to 'src/components')
-rw-r--r--src/components/Portal.tsx13
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>
     )
   }