diff --git a/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-custom-import-names.output.tsx b/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-custom-import-names.output.tsx index 5ebe0a0e1..47399f528 100644 --- a/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-custom-import-names.output.tsx +++ b/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-custom-import-names.output.tsx @@ -5,7 +5,11 @@ class C extends React1.Component { return (
{ - this.refs.refName = ref; + if(ref === null) { + delete this.refs.refName; + } else { + this.refs.refName = ref; + } }} /> ); @@ -17,7 +21,11 @@ class C1 extends PureComponent1 { return (
{ - this.refs.refName = ref; + if(ref === null) { + delete this.refs.refName; + } else { + this.refs.refName = ref; + } }} /> ); diff --git a/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-default-import.output.tsx b/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-default-import.output.tsx index 82a3dc8c9..90886e398 100644 --- a/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-default-import.output.tsx +++ b/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-default-import.output.tsx @@ -5,7 +5,11 @@ class C extends React.Component { return (
{ - this.refs.refName = ref; + if(ref === null) { + delete this.refs.refName; + } else { + this.refs.refName = ref; + } }} /> ); @@ -17,7 +21,11 @@ class C1 extends React.PureComponent { return (
{ - this.refs.refName = ref; + if(ref === null) { + delete this.refs.refName; + } else { + this.refs.refName = ref; + } }} /> ); diff --git a/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-named-import.output.tsx b/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-named-import.output.tsx index 99dcc6f76..34afd90f0 100644 --- a/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-named-import.output.tsx +++ b/packages/codemods/react/19/replace-string-ref/__testfixtures__/class-component-named-import.output.tsx @@ -5,7 +5,11 @@ class C extends Component { return (
{ - this.refs.refName = ref; + if(ref === null) { + delete this.refs.refName; + } else { + this.refs.refName = ref; + } }} /> ); @@ -17,7 +21,11 @@ class C1 extends PureComponent { return (
{ - this.refs.refName = ref; + if(ref === null) { + delete this.refs.refName; + } else { + this.refs.refName = ref; + } }} /> ); diff --git a/packages/codemods/react/19/replace-string-ref/src/index.ts b/packages/codemods/react/19/replace-string-ref/src/index.ts index 1a1ff0242..65f7f25bb 100644 --- a/packages/codemods/react/19/replace-string-ref/src/index.ts +++ b/packages/codemods/react/19/replace-string-ref/src/index.ts @@ -9,16 +9,13 @@ const buildCallbackRef = (j: JSCodeshift, refName: string) => j.arrowFunctionExpression( [j.jsxIdentifier("ref")], j.blockStatement([ - j.expressionStatement( - j.assignmentExpression( - "=", - j.memberExpression( - j.memberExpression(j.thisExpression(), j.identifier("refs")), - j.identifier(refName), - ), - j.identifier("ref"), - ), - ), + j.template.statement` + if (ref === null) { + delete this.refs.${j.identifier(refName)}; + } else { + this.refs.${j.identifier(refName)} = ref; + } + `, ]), ), ), pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy