Skip to content

Commit bea1e1f

Browse files
components/tooltip replace "useLayoutEffect" with "useSafeLayoutEffect" (#2021)
1 parent 95ffa64 commit bea1e1f

File tree

4 files changed

+12
-2
lines changed

4 files changed

+12
-2
lines changed

.changeset/selfish-ties-enjoy.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@nextui-org/tooltip": patch
3+
---
4+
5+
replaced "useLayoutEffect" with "useSafeLayoutEffect" in "useTooltip" hook to prevent unnecessary React warnings

packages/components/tooltip/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"@nextui-org/react-utils": "workspace:*",
4646
"@nextui-org/aria-utils": "workspace:*",
4747
"@nextui-org/framer-transitions": "workspace:*",
48+
"@nextui-org/use-safe-layout-effect": "workspace:*",
4849
"@react-aria/overlays": "^3.18.1",
4950
"@react-aria/tooltip": "^3.6.4",
5051
"@react-stately/tooltip": "^3.4.5",

packages/components/tooltip/src/use-tooltip.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type {OverlayTriggerProps} from "@react-types/overlays";
44
import type {HTMLMotionProps} from "framer-motion";
55
import type {OverlayOptions} from "@nextui-org/aria-utils";
66

7-
import {ReactNode, Ref, useId, useImperativeHandle, useLayoutEffect} from "react";
7+
import {ReactNode, Ref, useId, useImperativeHandle} from "react";
88
import {useTooltipTriggerState} from "@react-stately/tooltip";
99
import {mergeProps} from "@react-aria/utils";
1010
import {useTooltip as useReactAriaTooltip, useTooltipTrigger} from "@react-aria/tooltip";
@@ -16,6 +16,7 @@ import {ReactRef, mergeRefs} from "@nextui-org/react-utils";
1616
import {createDOMRef} from "@nextui-org/react-utils";
1717
import {useMemo, useRef, useCallback} from "react";
1818
import {toReactAriaPlacement, getArrowPlacement} from "@nextui-org/aria-utils";
19+
import {useSafeLayoutEffect} from "@nextui-org/use-safe-layout-effect";
1920

2021
interface Props extends Omit<HTMLNextUIProps, "content"> {
2122
/**
@@ -180,7 +181,7 @@ export function useTooltip(originalProps: UseTooltipProps) {
180181
containerPadding,
181182
});
182183

183-
useLayoutEffect(() => {
184+
useSafeLayoutEffect(() => {
184185
if (!updatePositionDeps.length) return;
185186
// force update position when deps change
186187
updatePosition();

pnpm-lock.yaml

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)