Diffdown is a real-time collaborative Markdown editor/previewer built on the AT Protocol diffdown.com
1# Self-closing element {"dialect": "jsx"} 2 3<img/> 4 5==> 6 7Script(ExpressionStatement(JSXElement(JSXSelfClosingTag(JSXStartTag,JSXBuiltin(JSXIdentifier),JSXSelfCloseEndTag)))) 8 9# Regular element {"dialect": "jsx"} 10 11<Foo>bar</Foo> 12 13==> 14 15Script(ExpressionStatement(JSXElement( 16 JSXOpenTag(JSXStartTag, JSXIdentifier, JSXEndTag), 17 JSXText, 18 JSXCloseTag(JSXStartCloseTag, JSXIdentifier, JSXEndTag)))) 19 20# Fragment {"dialect": "jsx"} 21 22<>bar</> 23 24==> 25 26Script(ExpressionStatement(JSXElement( 27 JSXFragmentTag(JSXStartTag, JSXEndTag), 28 JSXText, 29 JSXCloseTag(JSXStartCloseTag, JSXEndTag)))) 30 31# Namespaced name {"dialect": "jsx"} 32 33<blah-namespace:img/> 34 35==> 36 37Script(ExpressionStatement(JSXElement( 38 JSXSelfClosingTag(JSXStartTag,JSXNamespacedName(JSXIdentifier, JSXIdentifier),JSXSelfCloseEndTag)))) 39 40# Member name {"dialect": "jsx"} 41 42<pkg.Component/> 43 44==> 45 46Script(ExpressionStatement(JSXElement( 47 JSXSelfClosingTag(JSXStartTag,JSXMemberExpression(JSXIdentifier, JSXIdentifier),JSXSelfCloseEndTag)))) 48 49# Nested tags {"dialect": "jsx"} 50 51<a><b.C>text</b.C>{x} {...y}</a> 52 53==> 54 55Script(ExpressionStatement(JSXElement( 56 JSXOpenTag(JSXStartTag, JSXBuiltin(JSXIdentifier), JSXEndTag), 57 JSXElement( 58 JSXOpenTag(JSXStartTag, JSXMemberExpression(JSXIdentifier, JSXIdentifier), JSXEndTag), 59 JSXText, 60 JSXCloseTag(JSXStartCloseTag, JSXMemberExpression(JSXIdentifier, JSXIdentifier), JSXEndTag)), 61 JSXEscape(VariableName), 62 JSXText, 63 JSXEscape(Spread, VariableName), 64 JSXCloseTag(JSXStartCloseTag, JSXBuiltin(JSXIdentifier), JSXEndTag)))) 65 66# Attributes {"dialect": "jsx"} 67 68<Foo a="1" b {...attrs} c={c}></Foo> 69 70==> 71 72Script(ExpressionStatement(JSXElement( 73 JSXOpenTag(JSXStartTag, JSXIdentifier, 74 JSXAttribute(JSXIdentifier, Equals, JSXAttributeValue), 75 JSXAttribute(JSXIdentifier), 76 JSXSpreadAttribute(Spread, VariableName), 77 JSXAttribute(JSXIdentifier, Equals, JSXEscape(VariableName)), 78 JSXEndTag), 79 JSXCloseTag(JSXStartCloseTag, JSXIdentifier, JSXEndTag))))