Skip to content

Commit a3464e3

Browse files
committed
Documentation: Clarifing described behaviour for ref callbacks
1 parent 5dca520 commit a3464e3

File tree

1 file changed

+7
-1
lines changed
  • src/content/reference/react-dom/components

1 file changed

+7
-1
lines changed

src/content/reference/react-dom/components/common.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,13 @@ Instead of a ref object (like the one returned by [`useRef`](/reference/react/us
259259

260260
When the `<div>` DOM node is added to the screen, React will call your `ref` callback with the DOM `node` as the argument. When that `<div>` DOM node is removed, React will call your the cleanup function returned from the callback.
261261

262-
React will also call your `ref` callback whenever you pass a *different* `ref` callback. In the above example, `(node) => { ... }` is a different function on every render. When your component re-renders, the *previous* function will be called with `null` as the argument, and the *next* function will be called with the DOM node.
262+
React will also call your `ref` callback whenever you pass a *different* `ref` callback. In the above example, `(node) => { ... }` is a different function on every render. When your component re-renders, React will call the cleanup function returned by the *previous* callback (if any), and then call the *next* function with the DOM node.
263+
264+
<Note>
265+
266+
If your ref callback doesn't return a cleanup function, React will call the previous callback with `null` as the argument for legacy compatibility.
267+
268+
</Note>
263269

264270
#### Parameters {/*ref-callback-parameters*/}
265271

0 commit comments

Comments
 (0)