Skip to content
This repository was archived by the owner on Jun 28, 2026. It is now read-only.

Commit 475f838

Browse files
fix: update presence
1 parent bdd269c commit 475f838

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

  • packages/@primereact/hooks/src/use-presence

packages/@primereact/hooks/src/use-presence/index.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,14 @@ export function usePresence(open: boolean, fallbackMs: number = 500) {
1919
const [present, setPresent] = React.useState(open);
2020
const [exiting, setExiting] = React.useState(false);
2121
const [mounted, setMounted] = React.useState(false);
22-
const ref = React.useRef<HTMLElement>(null);
22+
const nodeRef = React.useRef<HTMLElement | null>(null);
2323
const cleanupRef = React.useRef<(() => void) | null>(null);
2424
const rafCleanupRef = React.useRef<(() => void) | null>(null);
2525

26+
const ref = React.useCallback((node: HTMLElement | null) => {
27+
nodeRef.current = node;
28+
}, []);
29+
2630
React.useEffect(() => {
2731
if (cleanupRef.current) {
2832
cleanupRef.current();
@@ -54,10 +58,10 @@ export function usePresence(open: boolean, fallbackMs: number = 500) {
5458
rafs.forEach((raf) => cancelAnimationFrame(raf));
5559
rafs.length = 0;
5660
};
57-
} else if (ref.current) {
61+
} else if (nodeRef.current) {
5862
setExiting(true);
5963
setMounted(false);
60-
const node = ref.current;
64+
const node = nodeRef.current;
6165
let isHandled = false;
6266

6367
const handleEnd = () => {

0 commit comments

Comments
 (0)