diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/outlined-helper.expect.md b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/outlined-helper.expect.md new file mode 100644 index 0000000000000..0ddba9968289a --- /dev/null +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/outlined-helper.expect.md @@ -0,0 +1,66 @@ + +## Input + +```javascript +import { Stringify } from "shared-runtime"; + +function Component(props) { + return ( +
+ {props.items.map((item) => ( + + ))} +
+ ); +} + +export const FIXTURE_ENTRYPOINT = { + fn: Component, + params: [{ items: [{ id: 1, name: "one" }] }], +}; + +``` + +## Code + +```javascript +import { c as _c } from "react/compiler-runtime"; +import { Stringify } from "shared-runtime"; + +function Component(props) { + const $ = _c(5); + let t0; + if ($[0] !== props.items) { + let t1; + if ($[2] === Symbol.for("react.memo_cache_sentinel")) { + t1 = (item) => ; + $[2] = t1; + } else { + t1 = $[2]; + } + t0 = props.items.map(t1); + $[0] = props.items; + $[1] = t0; + } else { + t0 = $[1]; + } + let t1; + if ($[3] !== t0) { + t1 =
{t0}
; + $[3] = t0; + $[4] = t1; + } else { + t1 = $[4]; + } + return t1; +} + +export const FIXTURE_ENTRYPOINT = { + fn: Component, + params: [{ items: [{ id: 1, name: "one" }] }], +}; + +``` + +### Eval output +(kind: ok)
{"item":"one"}
\ No newline at end of file diff --git a/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/outlined-helper.js b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/outlined-helper.js new file mode 100644 index 0000000000000..308ac5e97fb23 --- /dev/null +++ b/compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/outlined-helper.js @@ -0,0 +1,16 @@ +import { Stringify } from "shared-runtime"; + +function Component(props) { + return ( +
+ {props.items.map((item) => ( + + ))} +
+ ); +} + +export const FIXTURE_ENTRYPOINT = { + fn: Component, + params: [{ items: [{ id: 1, name: "one" }] }], +};