From 8b2c4a38a461ff5ecc95972291bc711e2c5dec9a Mon Sep 17 00:00:00 2001 From: 简律纯 Date: Fri, 28 Apr 2023 01:47:57 +0800 Subject: --- .../packages/acme-utils/src/useIsomorphicLayoutEffect.tsx | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 examples/with-changesets/packages/acme-utils/src/useIsomorphicLayoutEffect.tsx (limited to 'examples/with-changesets/packages/acme-utils/src/useIsomorphicLayoutEffect.tsx') diff --git a/examples/with-changesets/packages/acme-utils/src/useIsomorphicLayoutEffect.tsx b/examples/with-changesets/packages/acme-utils/src/useIsomorphicLayoutEffect.tsx new file mode 100644 index 0000000..59a7899 --- /dev/null +++ b/examples/with-changesets/packages/acme-utils/src/useIsomorphicLayoutEffect.tsx @@ -0,0 +1,13 @@ +import * as React from "react"; + +/** + * On the server, React emits a warning when calling `useLayoutEffect`. + * This is because neither `useLayoutEffect` nor `useEffect` run on the server. + * We use this safe version which suppresses the warning by replacing it with a noop on the server. + * + * See: https://reactjs.org/docs/hooks-reference.html#uselayouteffect + */ +const useIsomorphicLayoutEffect = + typeof window !== "undefined" ? React.useLayoutEffect : () => {}; + +export { useIsomorphicLayoutEffect }; -- cgit v1.2.3-70-g09d2