From 477bafacf5ce5b748d183dcd360152cb82d2a904 Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Sat, 24 Sep 2022 13:03:28 +0100 Subject: [PATCH] Revert "useEvent" This reverts commit 807116a60263944604b625d323a8a51f3d3a50fd. --- .../components/MDX/Sandpack/NavigationBar.tsx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/beta/src/components/MDX/Sandpack/NavigationBar.tsx b/beta/src/components/MDX/Sandpack/NavigationBar.tsx index 81c48b0fa..acc972fb0 100644 --- a/beta/src/components/MDX/Sandpack/NavigationBar.tsx +++ b/beta/src/components/MDX/Sandpack/NavigationBar.tsx @@ -4,9 +4,10 @@ import { useRef, + useInsertionEffect, + useCallback, useState, useEffect, - experimental_useEvent as useEvent, Fragment, } from 'react'; import cn from 'classnames'; @@ -21,6 +22,19 @@ import {DownloadButton} from './DownloadButton'; import {IconChevron} from '../../Icon/IconChevron'; import {Listbox} from '@headlessui/react'; +// TODO: Replace with real useEvent. +export function useEvent(fn: any): any { + const ref = useRef(null); + useInsertionEffect(() => { + ref.current = fn; + }, [fn]); + return useCallback((...args: any) => { + const f = ref.current!; + // @ts-ignore + return f(...args); + }, []); +} + const getFileName = (filePath: string): string => { const lastIndexOfSlash = filePath.lastIndexOf('/'); return filePath.slice(lastIndexOfSlash + 1);