From 864176a051896954e00afa99908204ec604ec65e Mon Sep 17 00:00:00 2001 From: Dunqing Date: Wed, 13 Dec 2023 13:47:54 +0800 Subject: [PATCH] feat(transformer/react-jsx): returns ThisExpression when identifier is this (#1661) --- crates/oxc_transformer/src/react_jsx/mod.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/oxc_transformer/src/react_jsx/mod.rs b/crates/oxc_transformer/src/react_jsx/mod.rs index 4a57102cb..96d38facb 100644 --- a/crates/oxc_transformer/src/react_jsx/mod.rs +++ b/crates/oxc_transformer/src/react_jsx/mod.rs @@ -596,7 +596,9 @@ impl<'a> ReactJsx<'a> { match name { JSXElementName::Identifier(ident) => { let name = ident.name.clone(); - if ident.name.chars().next().is_some_and(|c| c.is_ascii_lowercase()) { + if name == "this" { + self.ast.this_expression(SPAN) + } else if ident.name.chars().next().is_some_and(|c| c.is_ascii_lowercase()) { self.ast.literal_string_expression(StringLiteral::new(SPAN, name)) } else { self.ast.identifier_reference_expression(IdentifierReference::new(SPAN, name))