From c6f3f7aa864fcf795fa59002401268c75f199d9c Mon Sep 17 00:00:00 2001 From: Joe Savona Date: Mon, 17 Jun 2024 08:27:03 -0700 Subject: [PATCH] Update name to `useFormStatus` --- .../src/HIR/Globals.ts | 13 ---- .../src/HIR/HIR.ts | 17 +---- .../src/HIR/ObjectShape.ts | 22 ------- ...patch-considered-as-non-reactive.expect.md | 16 ++--- ...patch-considered-as-non-reactive.expect.md | 63 ------------------- ...ate-dispatch-considered-as-non-reactive.js | 16 ----- 6 files changed, 6 insertions(+), 141 deletions(-) delete mode 100644 compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useFormState-dispatch-considered-as-non-reactive.expect.md delete mode 100644 compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useFormState-dispatch-considered-as-non-reactive.js diff --git a/compiler/packages/babel-plugin-react-compiler/src/HIR/Globals.ts b/compiler/packages/babel-plugin-react-compiler/src/HIR/Globals.ts index 6a195ca6fd00e..1c471930f620d 100644 --- a/compiler/packages/babel-plugin-react-compiler/src/HIR/Globals.ts +++ b/compiler/packages/babel-plugin-react-compiler/src/HIR/Globals.ts @@ -11,7 +11,6 @@ import { BuiltInArrayId, BuiltInUseActionStateId, BuiltInUseEffectHookId, - BuiltInUseFormStateId, BuiltInUseInsertionEffectHookId, BuiltInUseLayoutEffectHookId, BuiltInUseOperatorId, @@ -280,18 +279,6 @@ const REACT_APIS: Array<[string, BuiltInType]> = [ returnValueReason: ValueReason.State, }), ], - [ - "useFormState", - addHook(DEFAULT_SHAPES, { - positionalParams: [], - restParam: Effect.Freeze, - returnType: { kind: "Object", shapeId: BuiltInUseFormStateId }, - calleeEffect: Effect.Read, - hookKind: "useFormState", - returnValueKind: ValueKind.Frozen, - returnValueReason: ValueReason.State, - }), - ], [ "useReducer", addHook(DEFAULT_SHAPES, { diff --git a/compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts b/compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts index 0460af7561aba..b79414de0310f 100644 --- a/compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts +++ b/compiler/packages/babel-plugin-react-compiler/src/HIR/HIR.ts @@ -1555,16 +1555,6 @@ export function isSetActionStateType(id: Identifier): boolean { ); } -export function isUseFormStateType(id: Identifier): boolean { - return id.type.kind === "Object" && id.type.shapeId === "BuiltInUseFormState"; -} - -export function isSetFormStateType(id: Identifier): boolean { - return ( - id.type.kind === "Function" && id.type.shapeId === "BuiltInSetFormState" - ); -} - export function isUseReducerType(id: Identifier): boolean { return id.type.kind === "Function" && id.type.shapeId === "BuiltInUseReducer"; } @@ -1574,12 +1564,7 @@ export function isDispatcherType(id: Identifier): boolean { } export function isStableType(id: Identifier): boolean { - return ( - isSetStateType(id) || - isSetActionStateType(id) || - isSetFormStateType(id) || - isDispatcherType(id) - ); + return isSetStateType(id) || isSetActionStateType(id) || isDispatcherType(id); } export function isUseEffectHookType(id: Identifier): boolean { diff --git a/compiler/packages/babel-plugin-react-compiler/src/HIR/ObjectShape.ts b/compiler/packages/babel-plugin-react-compiler/src/HIR/ObjectShape.ts index a0c8f74043e50..0a3451023cd4c 100644 --- a/compiler/packages/babel-plugin-react-compiler/src/HIR/ObjectShape.ts +++ b/compiler/packages/babel-plugin-react-compiler/src/HIR/ObjectShape.ts @@ -119,7 +119,6 @@ export type HookKind = | "useContext" | "useState" | "useActionState" - | "useFormState" | "useReducer" | "useRef" | "useEffect" @@ -199,8 +198,6 @@ export const BuiltInUseStateId = "BuiltInUseState"; export const BuiltInSetStateId = "BuiltInSetState"; export const BuiltInUseActionStateId = "BuiltInUseActionState"; export const BuiltInSetActionStateId = "BuiltInSetActionState"; -export const BuiltInUseFormStateId = "BuiltInUseFormState"; -export const BuiltInSetFormStateId = "BuiltInSetFormState"; export const BuiltInUseRefId = "BuiltInUseRefId"; export const BuiltInRefValueId = "BuiltInRefValue"; export const BuiltInMixedReadonlyId = "BuiltInMixedReadonly"; @@ -421,25 +418,6 @@ addObject(BUILTIN_SHAPES, BuiltInUseActionStateId, [ ], ]); -addObject(BUILTIN_SHAPES, BuiltInUseFormStateId, [ - ["0", { kind: "Poly" }], - [ - "1", - addFunction( - BUILTIN_SHAPES, - [], - { - positionalParams: [], - restParam: Effect.Freeze, - returnType: PRIMITIVE_TYPE, - calleeEffect: Effect.Read, - returnValueKind: ValueKind.Primitive, - }, - BuiltInSetFormStateId - ), - ], -]); - addObject(BUILTIN_SHAPES, BuiltInUseReducerId, [ ["0", { kind: "Poly" }], [ diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useActionState-dispatch-considered-as-non-reactive.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useActionState-dispatch-considered-as-non-reactive.expect.md index c0366e605d7ea..edec816cb932f 100644 --- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useActionState-dispatch-considered-as-non-reactive.expect.md +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useActionState-dispatch-considered-as-non-reactive.expect.md @@ -28,26 +28,20 @@ import { c as _c } from "react/compiler-runtime"; import { useActionState } from "react"; function Component() { - const $ = _c(2); + const $ = _c(1); const [actionState, dispatchAction] = useActionState(); let t0; if ($[0] === Symbol.for("react.memo_cache_sentinel")) { - t0 = () => { + const onSubmitAction = () => { dispatchAction(); }; + + t0 = ; $[0] = t0; } else { t0 = $[0]; } - const onSubmitAction = t0; - let t1; - if ($[1] === Symbol.for("react.memo_cache_sentinel")) { - t1 = ; - $[1] = t1; - } else { - t1 = $[1]; - } - return t1; + return t0; } function Foo() {} diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useFormState-dispatch-considered-as-non-reactive.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useFormState-dispatch-considered-as-non-reactive.expect.md deleted file mode 100644 index bd6ad05eeb568..0000000000000 --- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useFormState-dispatch-considered-as-non-reactive.expect.md +++ /dev/null @@ -1,63 +0,0 @@ - -## Input - -```javascript -import { useFormState } from "react-dom"; - -function Component() { - const [formState, dispatchForm] = useFormState(); - const onSubmitForm = () => { - dispatchForm(); - }; - return ; -} - -function Foo() {} - -export const FIXTURE_ENTRYPOINT = { - fn: Component, - params: [], -}; - -``` - -## Code - -```javascript -import { c as _c } from "react/compiler-runtime"; -import { useFormState } from "react-dom"; - -function Component() { - const $ = _c(2); - const [formState, dispatchForm] = useFormState(); - let t0; - if ($[0] === Symbol.for("react.memo_cache_sentinel")) { - t0 = () => { - dispatchForm(); - }; - $[0] = t0; - } else { - t0 = $[0]; - } - const onSubmitForm = t0; - let t1; - if ($[1] === Symbol.for("react.memo_cache_sentinel")) { - t1 = ; - $[1] = t1; - } else { - t1 = $[1]; - } - return t1; -} - -function Foo() {} - -export const FIXTURE_ENTRYPOINT = { - fn: Component, - params: [], -}; - -``` - -### Eval output -(kind: ok) \ No newline at end of file diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useFormState-dispatch-considered-as-non-reactive.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useFormState-dispatch-considered-as-non-reactive.js deleted file mode 100644 index f58903e7a54a3..0000000000000 --- a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/useFormState-dispatch-considered-as-non-reactive.js +++ /dev/null @@ -1,16 +0,0 @@ -import { useFormState } from "react-dom"; - -function Component() { - const [formState, dispatchForm] = useFormState(); - const onSubmitForm = () => { - dispatchForm(); - }; - return ; -} - -function Foo() {} - -export const FIXTURE_ENTRYPOINT = { - fn: Component, - params: [], -};