@samitouri / QOS-React / commits / 8bb7241f4c

Bump useEffectEvent to Canary (#34610)

Bumps `useEffectEvent` from `@experimental` to `@canary`. Removes the `experimental_` prefix from the export. ## TODO - [ ] Update useEffectEvent reference page and Canary badging in docs: https://github.com/reactjs/react.dev/pull/8025

Jack Pope committed Sep 26, 2025 at 11:51 UTC 8bb7241f4c773376893701bfe8b8ff03687342a0
10 files changed +14 -11
packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js
+4 -4
@@ -6514,7 +6514,7 @@ describe('ReactDOMFizzServer', () => {
6514 const ref = React.createRef();
6515 function App() {
6516 const [count, setCount] = React.useState(0);
6517 - const onClick = React.experimental_useEffectEvent(() => {
6517 + const onClick = React.useEffectEvent(() => {
6518 setCount(c => c + 1);
6519 });
6520 return (
@@ -6544,7 +6544,7 @@ describe('ReactDOMFizzServer', () => {
6544 it('throws if useEffectEvent is called during a server render', async () => {
6545 const logs = [];
6546 function App() {
6547 - const onRender = React.experimental_useEffectEvent(() => {
6547 + const onRender = React.useEffectEvent(() => {
6548 logs.push('rendered');
6549 });
6550 onRender();
@@ -6575,8 +6575,8 @@ describe('ReactDOMFizzServer', () => {
6575 // @gate enableUseEffectEventHook
6576 it('does not guarantee useEffectEvent return values during server rendering are distinct', async () => {
6577 function App() {
6578 - const onClick1 = React.experimental_useEffectEvent(() => {});
6579 - const onClick2 = React.experimental_useEffectEvent(() => {});
6578 + const onClick1 = React.useEffectEvent(() => {});
6579 + const onClick2 = React.useEffectEvent(() => {});
6580 if (onClick1 === onClick2) {
6581 return <div />;
6582 } else {
packages/react-reconciler/src/__tests__/useEffectEvent-test.js
+1 -1
@@ -37,7 +37,7 @@ describe('useEffectEvent', () => {
37 createContext = React.createContext;
38 useContext = React.useContext;
39 useState = React.useState;
40 - useEffectEvent = React.experimental_useEffectEvent;
40 + useEffectEvent = React.useEffectEvent;
41 useEffect = React.useEffect;
42 useLayoutEffect = React.useLayoutEffect;
43 useMemo = React.useMemo;
packages/react/index.development.js
+1 -1
@@ -56,7 +56,7 @@ export {
56 useDebugValue,
57 useDeferredValue,
58 useEffect,
59 - experimental_useEffectEvent,
59 + useEffectEvent,
60 useImperativeHandle,
61 useInsertionEffect,
62 useLayoutEffect,
packages/react/index.experimental.development.js
+1 -1
@@ -43,7 +43,7 @@ export {
43 useDebugValue,
44 useDeferredValue,
45 useEffect,
46 - experimental_useEffectEvent,
46 + useEffectEvent,
47 useImperativeHandle,
48 useInsertionEffect,
49 useLayoutEffect,
packages/react/index.experimental.js
+1 -1
@@ -44,7 +44,7 @@ export {
44 useDebugValue,
45 useDeferredValue,
46 useEffect,
47 - experimental_useEffectEvent,
47 + useEffectEvent,
48 useImperativeHandle,
49 useInsertionEffect,
50 useLayoutEffect,
packages/react/index.fb.js
+2 -1
@@ -21,7 +21,8 @@ export {
21 createContext,
22 createElement,
23 createRef,
24 - experimental_useEffectEvent,
24 + useEffectEvent as experimental_useEffectEvent,
25 + useEffectEvent,
26 forwardRef,
27 Fragment,
28 isValidElement,
packages/react/index.js
+1 -1
@@ -58,7 +58,7 @@ export {
58 useDebugValue,
59 useDeferredValue,
60 useEffect,
61 - experimental_useEffectEvent,
61 + useEffectEvent,
62 useImperativeHandle,
63 useInsertionEffect,
64 useLayoutEffect,
packages/react/index.stable.development.js
+1
@@ -37,6 +37,7 @@ export {
37 useDebugValue,
38 useDeferredValue,
39 useEffect,
40 + useEffectEvent,
41 useImperativeHandle,
42 useInsertionEffect,
43 useLayoutEffect,
packages/react/index.stable.js
+1
@@ -37,6 +37,7 @@ export {
37 useDebugValue,
38 useDeferredValue,
39 useEffect,
40 + useEffectEvent,
41 useImperativeHandle,
42 useInsertionEffect,
43 useLayoutEffect,
packages/react/src/ReactClient.js
+1 -1
@@ -88,7 +88,7 @@ export {
88 useCallback,
89 useContext,
90 useEffect,
91 - useEffectEvent as experimental_useEffectEvent,
91 + useEffectEvent,
92 useImperativeHandle,
93 useDebugValue,
94 useInsertionEffect,