@samitouri / QOS-React-2 / commits / 02f411578a

Upgrade useInsertionEffect to stable (#22589)

@huozhi tried this out and says it's working as expected. I think we can go ahead and move this into the stable channel, so that it is available in the React 18 alpha releases.

Andrew Clark committed Oct 19, 2021 at 17:32 UTC 02f411578a8e58af8ec28e385f6b0dcb768cdc41
9 files changed +9 -15
packages/react-debug-tools/src/__tests__/ReactHooksInspectionIntegration-test.js
+1 -2
@@ -268,9 +268,8 @@ describe('ReactHooksInspectionIntegration', () => {
268 ]);
269 });
270
271 - // @gate experimental || www
271 it('should inspect the current state of all stateful hooks, including useInsertionEffect', () => {
273 - const useInsertionEffect = React.unstable_useInsertionEffect;
272 + const useInsertionEffect = React.useInsertionEffect;
273 const outsideRef = React.createRef();
274 function effect() {}
275 function Foo(props) {
packages/react-dom/src/__tests__/ReactDOMServerIntegrationHooks-test.js
+1 -2
@@ -55,7 +55,7 @@ function initModules() {
55 useRef = React.useRef;
56 useDebugValue = React.useDebugValue;
57 useImperativeHandle = React.useImperativeHandle;
58 - useInsertionEffect = React.unstable_useInsertionEffect;
58 + useInsertionEffect = React.useInsertionEffect;
59 useLayoutEffect = React.useLayoutEffect;
60 useOpaqueIdentifier = React.unstable_useOpaqueIdentifier;
61 forwardRef = React.forwardRef;
@@ -641,7 +641,6 @@ describe('ReactDOMServerHooks', () => {
641 });
642 });
643 describe('useInsertionEffect', () => {
644 - // @gate experimental || www
644 it('should warn when invoked during render', async () => {
645 function Counter() {
646 useInsertionEffect(() => {
packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.js
+1 -6
@@ -47,7 +47,7 @@ describe('ReactHooksWithNoopRenderer', () => {
47 useState = React.useState;
48 useReducer = React.useReducer;
49 useEffect = React.useEffect;
50 - useInsertionEffect = React.unstable_useInsertionEffect;
50 + useInsertionEffect = React.useInsertionEffect;
51 useLayoutEffect = React.useLayoutEffect;
52 useCallback = React.useCallback;
53 useMemo = React.useMemo;
@@ -2685,7 +2685,6 @@ describe('ReactHooksWithNoopRenderer', () => {
2685 });
2686
2687 describe('useInsertionEffect', () => {
2688 - // @gate experimental || www
2688 it('fires insertion effects after snapshots on update', () => {
2689 function CounterA(props) {
2690 useInsertionEffect(() => {
@@ -2745,7 +2744,6 @@ describe('ReactHooksWithNoopRenderer', () => {
2744 });
2745 });
2746
2748 - // @gate experimental || www
2747 it('fires insertion effects before layout effects', () => {
2748 let committedText = '(empty)';
2749
@@ -2808,7 +2806,6 @@ describe('ReactHooksWithNoopRenderer', () => {
2806 expect(Scheduler).toHaveYielded(['Destroy passive [current: 0]']);
2807 });
2808
2811 - // @gate experimental || www
2809 it('force flushes passive effects before firing new insertion effects', () => {
2810 let committedText = '(empty)';
2811
@@ -2876,7 +2873,6 @@ describe('ReactHooksWithNoopRenderer', () => {
2873 ]);
2874 });
2875
2879 - // @gate experimental || www
2876 it('fires all insertion effects (interleaved) before firing any layout effects', () => {
2877 let committedA = '(empty)';
2878 let committedB = '(empty)';
@@ -3043,7 +3039,6 @@ describe('ReactHooksWithNoopRenderer', () => {
3039 });
3040 });
3041
3046 - // @gate experimental || www
3042 it('assumes insertion effect destroy function is either a function or undefined', () => {
3043 function App(props) {
3044 useInsertionEffect(() => {
packages/react/index.classic.fb.js
+1 -1
@@ -48,7 +48,7 @@ export {
48 useEffect,
49 useImperativeHandle,
50 useLayoutEffect,
51 - unstable_useInsertionEffect,
51 + useInsertionEffect,
52 useMemo,
53 useMutableSource,
54 useMutableSource as unstable_useMutableSource,
packages/react/index.experimental.js
+1 -1
@@ -42,7 +42,7 @@ export {
42 useDeferredValue,
43 useEffect,
44 useImperativeHandle,
45 - unstable_useInsertionEffect,
45 + useInsertionEffect,
46 useLayoutEffect,
47 useMemo,
48 useMutableSource as unstable_useMutableSource,
packages/react/index.js
+1 -1
@@ -67,7 +67,7 @@ export {
67 useDeferredValue,
68 useEffect,
69 useImperativeHandle,
70 - unstable_useInsertionEffect,
70 + useInsertionEffect,
71 useLayoutEffect,
72 useMemo,
73 useMutableSource,
packages/react/index.modern.fb.js
+1 -1
@@ -46,7 +46,7 @@ export {
46 useDeferredValue as unstable_useDeferredValue, // TODO: Remove once call sights updated to useDeferredValue
47 useEffect,
48 useImperativeHandle,
49 - unstable_useInsertionEffect,
49 + useInsertionEffect,
50 useLayoutEffect,
51 useMemo,
52 useMutableSource,
packages/react/index.stable.js
+1
@@ -36,6 +36,7 @@ export {
36 useDeferredValue,
37 useEffect,
38 useImperativeHandle,
39 + useInsertionEffect,
40 useLayoutEffect,
41 useMemo,
42 useMutableSource as unstable_useMutableSource,
packages/react/src/React.js
+1 -1
@@ -92,7 +92,7 @@ export {
92 useEffect,
93 useImperativeHandle,
94 useDebugValue,
95 - useInsertionEffect as unstable_useInsertionEffect,
95 + useInsertionEffect,
96 useLayoutEffect,
97 useMemo,
98 useMutableSource,