Lazily initialize and cache constant JSX elements (#12967)

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
This commit is contained in:
Nicolò Ribaudo
2021-03-06 17:33:43 +01:00
committed by GitHub
parent d04842a700
commit 8dacf85859
72 changed files with 695 additions and 209 deletions

View File

@@ -0,0 +1,6 @@
function Foo({outsetArrows, ...rest}) {
return useMemo(
() => <div outsetArrows={outsetArrows}/>,
[outsetArrows]
);
}

View File

@@ -0,0 +1,7 @@
{
"plugins": [
"syntax-jsx",
"transform-react-constant-elements",
"proposal-object-rest-spread"
]
}

View File

@@ -0,0 +1,9 @@
function Foo(_ref) {
var _div;
let {
outsetArrows
} = _ref,
rest = babelHelpers.objectWithoutProperties(_ref, ["outsetArrows"]);
return useMemo(() => _div || (_div = <div outsetArrows={outsetArrows} />), [outsetArrows]);
}