将 HTML 转换为 JSX:JSX 和 JSX 规则

devtools/2024/11/16 7:15:30/
htmledit_views">

JSX 是 JavaScript 的语法扩展。您可以在 JavaScript 文件中编写 HTML 格式

它基于 Web、Html、Css 和 JavaScript。Web 开发人员将页面内容分别编写为 Html 文件,将设计编写为 Css 文件,将逻辑编写为 JavaScript 文件。

  • 须知 : JSX 是一个语法扩展,而 React 是一个 JavaScript 库
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>
<span style="color:var(--syntax-error-color)"><div</span> <span style="color:var(--syntax-name-color)">class=</span><span style="color:var(--syntax-string-color)">"wrapper"</span><span style="color:var(--syntax-error-color)">></span>HTML<span style="color:var(--syntax-error-color)"></div></span></code></span></span>
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>
<span style="color:var(--syntax-error-color)">//</span><span style="color:var(--syntax-error-color)">CSS</span><span style="color:var(--syntax-name-color)">.wrapper</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-text-color)">display</span> <span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-text-color)">flex</span><span style="color:var(--syntax-text-color)">;</span>
<span style="color:var(--syntax-text-color)">}</span></code></span></span>
<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code>
<span style="color:var(--syntax-declaration-color)">function</span> <span style="color:var(--syntax-name-color)">myFunction</span><span style="color:var(--syntax-text-color)">()</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-text-color)">document</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-name-color)">getElementById</span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">wrapper</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-text-color)">).</span><span style="color:var(--syntax-name-color)">innerHTML</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">Hello world</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-text-color)">;</span>
<span style="color:var(--syntax-text-color)">}</span></code></span></span>



但是,随着 Web 的交互性越来越强,逻辑也变得越来越重要。JavaScript 正在管理 Html。因此,在 React 中,逻辑和格式在组件中共存。
 

React 组件示例 :

<span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-declaration-color)">import</span> <span style="color:var(--syntax-name-color)">React</span><span style="color:var(--syntax-text-color)">,</span> <span style="color:var(--syntax-text-color)">{</span> <span style="color:var(--syntax-name-color)">useState</span> <span style="color:var(--syntax-text-color)">}</span> <span style="color:var(--syntax-declaration-color)">from</span> <span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">react</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-text-color)">;</span><span style="color:var(--syntax-declaration-color)">function</span> <span style="color:var(--syntax-name-color)">App</span><span style="color:var(--syntax-text-color)">()</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-declaration-color)">const</span> <span style="color:var(--syntax-text-color)">[</span><span style="color:var(--syntax-name-color)">formData</span><span style="color:var(--syntax-text-color)">,</span> <span style="color:var(--syntax-name-color)">setFormData</span><span style="color:var(--syntax-text-color)">]</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-name-color)">useState</span><span style="color:var(--syntax-text-color)">({</span><span style="color:var(--syntax-name-color)">username</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">""</span><span style="color:var(--syntax-text-color)">,</span><span style="color:var(--syntax-name-color)">password</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">""</span><span style="color:var(--syntax-text-color)">,</span><span style="color:var(--syntax-text-color)">});</span><span style="color:var(--syntax-declaration-color)">const</span> <span style="color:var(--syntax-name-color)">handleChange</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-name-color)">event</span><span style="color:var(--syntax-text-color)">)</span> <span style="color:var(--syntax-error-color)">=></span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-declaration-color)">const</span> <span style="color:var(--syntax-text-color)">{</span> <span style="color:var(--syntax-name-color)">name</span><span style="color:var(--syntax-text-color)">,</span> <span style="color:var(--syntax-name-color)">value</span> <span style="color:var(--syntax-text-color)">}</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-name-color)">event</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-name-color)">target</span><span style="color:var(--syntax-text-color)">;</span><span style="color:var(--syntax-name-color)">setFormData</span><span style="color:var(--syntax-text-color)">((</span><span style="color:var(--syntax-name-color)">prevState</span><span style="color:var(--syntax-text-color)">)</span> <span style="color:var(--syntax-error-color)">=></span> <span style="color:var(--syntax-text-color)">({</span> <span style="color:var(--syntax-text-color)">...</span><span style="color:var(--syntax-name-color)">prevState</span><span style="color:var(--syntax-text-color)">,</span> <span style="color:var(--syntax-text-color)">[</span><span style="color:var(--syntax-name-color)">name</span><span style="color:var(--syntax-text-color)">]:</span> <span style="color:var(--syntax-name-color)">value</span> <span style="color:var(--syntax-text-color)">}));</span><span style="color:var(--syntax-text-color)">};</span><span style="color:var(--syntax-declaration-color)">return </span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">form</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">label</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-name-color)">Username</span><span style="color:var(--syntax-text-color)">:</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">input</span><span style="color:var(--syntax-name-color)">type</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">text</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-name-color)">name</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">username</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-name-color)">value</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">formData</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-name-color)">username</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-name-color)">onChange</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">handleChange</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-string-color)">/</span>><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-string-color)">/label</span>><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">label</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-name-color)">Password</span><span style="color:var(--syntax-text-color)">:</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">input</span><span style="color:var(--syntax-name-color)">type</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">password</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-name-color)">name</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">password</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-name-color)">value</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">formData</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-name-color)">password</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-name-color)">onChange</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">handleChange</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-string-color)">/</span>><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-string-color)">/label</span>><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">input</span> <span style="color:var(--syntax-name-color)">type</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">submit</span><span style="color:var(--syntax-string-color)">"</span> <span style="color:var(--syntax-name-color)">value</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">Submit</span><span style="color:var(--syntax-string-color)">"</span> <span style="color:var(--syntax-error-color)">/></span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-string-color)">/form</span>><span style="color:var(--syntax-text-color)">);</span>
<span style="color:var(--syntax-text-color)">}</span>
</code></span></span>



请务必将渲染标记和逻辑放在一起,以使 HTML 标记在每次编辑时彼此同步。

React 组件是一个 JavaScript 函数,其中包含 React 在浏览器中渲染的标记。React 组件使用名为 JSX 的语法扩展来表示此标记。JSX 看起来像 Html


JSX 的规则

1. 返回单个根元素

要从组件返回元素,请用单个 parent 标签包装它们。您可以使用 or 片段 (<></>)

例如 div

<span style="color:var(--syntax-text-color)"><strong><code><span style="color:var(--syntax-error-color)"><div></span><span style="color:var(--syntax-error-color)"><h1></span>Hedy Lamarr's Todos<span style="color:var(--syntax-error-color)"></h1></span><span style="color:var(--syntax-error-color)"><img</span> <span style="color:var(--syntax-name-color)">src=</span><span style="color:var(--syntax-string-color)">"https://picsum.photos/200/300"</span> <span style="color:var(--syntax-name-color)">alt=</span><span style="color:var(--syntax-string-color)">"lorempicsum"</span> <span style="color:var(--syntax-error-color)">></span>
<span style="color:var(--syntax-error-color)"></div></span>
</code></strong></span>

例如 <></>

<span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-error-color)"><></span><span style="color:var(--syntax-error-color)"><h1></span>Hedy Lamarr's Todos<span style="color:var(--syntax-error-color)"></h1></span><span style="color:var(--syntax-error-color)"><img</span> <span style="color:var(--syntax-name-color)">src=</span><span style="color:var(--syntax-string-color)">"https://picsum.photos/200/300"</span> <span style="color:var(--syntax-name-color)">alt=</span><span style="color:var(--syntax-string-color)">"lorempicsum"</span> <span style="color:var(--syntax-error-color)">/></span>
<span style="color:var(--syntax-error-color)"></></span>
</code></span>
  • Fragments 允许您对内容进行分组,而不会在浏览器 HTML 树中留下任何痕迹

2. 关闭所有标签

在 JSX 中,所有标签都必须关闭。例如,Html 中的 img 等自闭合标签

示例 :

<span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-error-color)"><img</span> <span style="color:var(--syntax-name-color)">src=</span><span style="color:var(--syntax-string-color)">"https://picsum.photos/200/300"</span> <span style="color:var(--syntax-name-color)">alt=</span><span style="color:var(--syntax-string-color)">"lorempicsum"</span> <span style="color:var(--syntax-error-color)">/></span>
</code></span>

3. 驼峰式

在 React 中,许多 HTML 属性都是用 camelCase 编写的。

示例 :

<span style="color:var(--syntax-text-color)"><code> <span style="color:var(--syntax-error-color)"><img</span> <span style="color:var(--syntax-name-color)">src=</span><span style="color:var(--syntax-string-color)">"https://picsum.photos/200/300"</span> <span style="color:var(--syntax-name-color)">alt=</span><span style="color:var(--syntax-string-color)">"lorempicsum"</span> <span style="color:var(--syntax-name-color)">className=</span><span style="color:var(--syntax-string-color)">"photo"</span><span style="color:var(--syntax-error-color)">/></span><span style="color:var(--syntax-error-color)"><button</span> <span style="color:var(--syntax-name-color)">onClick=</span><span style="color:var(--syntax-string-color)">{handleClick}</span><span style="color:var(--syntax-error-color)">></span>Click Me<span style="color:var(--syntax-error-color)"></button></span></code></span>

JSX 中的 JavaScript

在 JSX 中,有时你会想要添加一些 JavaScript 逻辑或引用此标记中的动态功能。在这种情况下,您可以在 JSX 中使用括号

  • 将 string 属性传递给 JSX

当您想将 string 属性传递给 JSX 时,您可以将其放在单引号或双引号中

示例 :

<span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-declaration-color)">export</span> <span style="color:var(--syntax-declaration-color)">default</span> <span style="color:var(--syntax-declaration-color)">function</span> <span style="color:var(--syntax-name-color)">Avatar</span><span style="color:var(--syntax-text-color)">()</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-declaration-color)">return </span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">img</span><span style="color:var(--syntax-name-color)">className</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">avatar</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-name-color)">src</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">https://picsum.photos/200/300</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-name-color)">alt</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">lorempicsum</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-error-color)">/></span><span style="color:var(--syntax-text-color)">);</span>
<span style="color:var(--syntax-text-color)">}</span>
</code></span>



在这里,src 和 alt 作为字符串传递。但是,如果要动态指定 src 或 alt 文本,可以使用大括号而不是双引号的 JavaScript 中的值

示例 :

<span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-declaration-color)">export</span> <span style="color:var(--syntax-declaration-color)">default</span> <span style="color:var(--syntax-declaration-color)">function</span> <span style="color:var(--syntax-name-color)">Avatar</span><span style="color:var(--syntax-text-color)">()</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-declaration-color)">const</span> <span style="color:var(--syntax-name-color)">avatar</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">https://picsum.photos/200/300</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">;</span><span style="color:var(--syntax-declaration-color)">const</span> <span style="color:var(--syntax-name-color)">description</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">lorempicsum</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">;</span><span style="color:var(--syntax-declaration-color)">return </span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">img</span><span style="color:var(--syntax-name-color)">className</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-string-color)">avatar</span><span style="color:var(--syntax-string-color)">"</span><span style="color:var(--syntax-name-color)">src</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">avatar</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-name-color)">alt</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">description</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-string-color)">/</span>><span style="color:var(--syntax-text-color)">);</span>
<span style="color:var(--syntax-text-color)">}</span></code></span>

  • 使用大括号

可以使用带有大括号 {} 的 JavaScript。您可以使用函数、变量等。

示例 :

<span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-declaration-color)">import</span> <span style="color:var(--syntax-name-color)">React</span><span style="color:var(--syntax-text-color)">,</span> <span style="color:var(--syntax-text-color)">{</span> <span style="color:var(--syntax-name-color)">useState</span> <span style="color:var(--syntax-text-color)">}</span> <span style="color:var(--syntax-declaration-color)">from</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">react</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">;</span><span style="color:var(--syntax-declaration-color)">const</span> <span style="color:var(--syntax-name-color)">content</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">Toggle Text</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">;</span><span style="color:var(--syntax-declaration-color)">function</span> <span style="color:var(--syntax-name-color)">ToggleText</span><span style="color:var(--syntax-text-color)">()</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-declaration-color)">const</span> <span style="color:var(--syntax-text-color)">[</span><span style="color:var(--syntax-name-color)">isVisible</span><span style="color:var(--syntax-text-color)">,</span> <span style="color:var(--syntax-name-color)">setIsVisible</span><span style="color:var(--syntax-text-color)">]</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-name-color)">useState</span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-declaration-color)">true</span><span style="color:var(--syntax-text-color)">);</span><span style="color:var(--syntax-declaration-color)">return </span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">div</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">isVisible</span> <span style="color:var(--syntax-error-color)">&&</span> <span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">p</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-name-color)">This</span> <span style="color:var(--syntax-name-color)">text</span> <span style="color:var(--syntax-name-color)">is</span> <span style="color:var(--syntax-name-color)">toggleable</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-string-color)">/p></span>}<span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">button</span> <span style="color:var(--syntax-name-color)">onClick</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{()</span> <span style="color:var(--syntax-error-color)">=></span> <span style="color:var(--syntax-name-color)">setIsVisible</span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-error-color)">!</span><span style="color:var(--syntax-name-color)">isVisible</span><span style="color:var(--syntax-text-color)">)}</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">content</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-string-color)">/button</span>><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-string-color)">/div</span>><span style="color:var(--syntax-text-color)">);</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-declaration-color)">export</span> <span style="color:var(--syntax-declaration-color)">default</span> <span style="color:var(--syntax-name-color)">ToggleText</span><span style="color:var(--syntax-text-color)">;</span>
</code></span>

  • 使用双花括号

React 不需要你使用内联样式(CSS 类在大多数情况下效果很好)。但是当你需要一个内联样式时,你可以将一个对象传递给 style 属性。使用双大括号

示例 :

<span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-declaration-color)">export</span> <span style="color:var(--syntax-declaration-color)">default</span> <span style="color:var(--syntax-declaration-color)">function</span> <span style="color:var(--syntax-name-color)">TodoList</span><span style="color:var(--syntax-text-color)">()</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-declaration-color)">return </span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">ul</span> <span style="color:var(--syntax-name-color)">style</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{{</span><span style="color:var(--syntax-name-color)">backgroundColor</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">black</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">,</span><span style="color:var(--syntax-name-color)">color</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">pink</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">}}</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">li</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-name-color)">lorem</span> <span style="color:var(--syntax-name-color)">ipsum</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-string-color)">/li</span>><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-string-color)">/ul</span>><span style="color:var(--syntax-text-color)">);</span>
<span style="color:var(--syntax-text-color)">}</span></code></span>
  • 你在 JSX 中看到 {{ }},知道它是 JSX 卷曲中的对象

  • 内联样式属性应写入 camelCase


你可以将多个表达式移动到一个对象中,并在 JSX 中的大括号内使用它们

<span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-declaration-color)">const</span> <span style="color:var(--syntax-name-color)">person</span> <span style="color:var(--syntax-error-color)">=</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">name</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">Gregorio Y. Zara</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">,</span><span style="color:var(--syntax-name-color)">theme</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">backgroundColor</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">red</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">,</span><span style="color:var(--syntax-name-color)">color</span><span style="color:var(--syntax-text-color)">:</span> <span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">yellow</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-text-color)">}</span>
<span style="color:var(--syntax-text-color)">};</span><span style="color:var(--syntax-declaration-color)">export</span> <span style="color:var(--syntax-declaration-color)">default</span> <span style="color:var(--syntax-declaration-color)">function</span> <span style="color:var(--syntax-name-color)">TodoList</span><span style="color:var(--syntax-text-color)">()</span> <span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-declaration-color)">return </span><span style="color:var(--syntax-text-color)">(</span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">div</span> <span style="color:var(--syntax-name-color)">style</span><span style="color:var(--syntax-error-color)">=</span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">person</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-name-color)">theme</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-error-color)"><</span><span style="color:var(--syntax-name-color)">h1</span><span style="color:var(--syntax-error-color)">></span><span style="color:var(--syntax-text-color)">{</span><span style="color:var(--syntax-name-color)">person</span><span style="color:var(--syntax-text-color)">.</span><span style="color:var(--syntax-name-color)">name</span><span style="color:var(--syntax-text-color)">}</span><span style="color:var(--syntax-string-color)">'</span><span style="color:var(--syntax-string-color)">s Todos</h1></div>);
}</span></code></span>

 

JSX 是使 Web 开发过程更加有效和实用的重要工具。使用 JSX,您可以将渲染标记和逻辑放在一起,以保持 html 贴花在每次编辑中彼此同步。


http://www.ppmy.cn/devtools/134373.html

相关文章

vue中调用全屏方法、 elementUI弹框在全屏模式下不出现问题、多级嵌套弹框蒙层遮挡问题等处理与实现方案

全屏模式下弹框不展示的原因是elementUI的弹框我们让他挂在body中了&#xff0c;而我们全屏的div盒子不是整个文档&#xff0c;这时候就找不到弹框了。 当我们把弹框改为插入到父元素上 这时候会出现蒙层盖住整个页面&#xff0c;什么也点不了的问题。 这是elementUI官方的一个…

【使用antv g6实现拓扑图】

使用antv g6实现拓扑图 安装antv g6创建一个 div&#xff0c;并制定必须的属性 id定义初始化方法定义node节点数据将获取到的数据渲染进页面 安装antv g6 npm install antv/g6 --save import G6 from antv/g6;创建一个 div&#xff0c;并制定必须的属性 id 定义好展示id&…

三正科技笔试题

&#xff08;15题&#xff0c;45分钟&#xff0c;闭卷&#xff09; 一、( 8 分 &#xff09;请问以下程序输出什么结果&#xff1f; char *getStr(void) 。 &#xff5b; char p[] "hellow world"; return p; &#xff5d; void test(void) &#xff5b; ch…

(一)<江科大STM32>——软件环境搭建+新建工程步骤

一、软件环境搭建 &#xff08;1&#xff09;安装 Keil5 MDK 文件路径&#xff1a;江科大stm32入门教程资料/Keil5 MDK/MDK524a.EXE&#xff0c;安装即可&#xff0c;路径不能有中文。 &#xff08;2&#xff09;安装器件支持包 文件路径&#xff1a;江科大stm32入门教程资料…

Django 2024全栈开发指南(三):数据库模型与ORM操作(上篇)

目录 一、模型的定义二、数据迁移三、数据表关系四、数据表操作4.1 Shell工具4.2 数据新增4.3 数据修改4.4 数据删除4.5 数据查询 Django 对各种数据库提供了很好的支持&#xff0c;包括 PostgreSQL、MySQL、SQLite 和 Oracle&#xff0c;而且为这些数据库提供了统一的 API 方法…

分布式----Ceph部署

目录 一、存储基础 1.1 单机存储设备 1.2 单机存储的问题 1.3 商业存储解决方案 1.4 分布式存储&#xff08;软件定义的存储 SDS&#xff09; 1.5 分布式存储的类型 二、Ceph 简介 三、Ceph 优势 四、Ceph 架构 五、Ceph 核心组件 #Pool中数据保存方式支持两种类型&…

【Git从入门到精通】——Git分支介绍与GitHub相关知识总结

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

Java项目实战II基于微信小程序的订餐系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导 一、前言 随着移动互联网技术的飞速发展&#xff0…