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

server/2024/11/17 0:38:07/
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/server/142507.html

相关文章

Spring Boot编程训练系统:实战开发技巧

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

C++__day1

1、思维导图 2、如果登录失败&#xff0c;提示用户登录失败信息&#xff0c;并且提示错误几次&#xff0c;且重新输入&#xff1b;如果输入错误三次&#xff0c;则退出系统 #include <iostream> using namespace std;int main() {string id , pswd;string user"admi…

PCA 原理推导

针对高维数据的降维问题&#xff0c;PCA 的基本思路如下&#xff1a;首先将需要降维的数据的各个变量标准化&#xff08;规范化&#xff09;为均值为 0&#xff0c;方差为 1 的数据集&#xff0c;然后对标准化后的数据进行正交变换&#xff0c;将原来的数据转换为若干个线性无关…

JavaWeb笔记整理——Spring Task、WebSocket

目录 SpringTask ​cron表达式 WebSocket SpringTask cron表达式 WebSocket

刘铁猛C#入门 024 类的声明,继承和访问控制

类声明的全貌 C#声明类的位置 声明既定义(C#与Java) 类的修饰符 最简单的类声明 类的访间控制 &#xff1a;默认internal 共性 public 和 internal 都是访问修饰符&#xff0c;用于定义一个类型的成员可以被谁访问。它们都可以用来声明类、结构、接口、枚举、字段、方法、…

webpack案例----pdd(anti-content)

本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 目标网址&#xff1a;aHR0cHM6Ly9waW5kdW9kdW8uY29tL2hvbWUvM2M 加密参数&#xff1a;anti_content 载荷里面的rn是不变的 发现加密是anti-con…

二分搜索的三种方法

首先总的说一下二分搜索。如果区间具有二分性&#xff0c;这个二分性不仅仅是指区间是有序的&#xff0c;而是我们可以通过某一种性质将整个区间分成左区间和右区间。我们通过二分的方法去不断缩小查找的区间&#xff0c;最终让区间内没有元素&#xff0c;这个时候的我们就得到…

SNN学习(2):深入了解SNN及LIF神经元的原理和运行过程

目录 一、STDP机制 1、STDP 的基本原理 权重调整的“时间差依赖性” 2、STDP 的数学模型 二、SNN的应用场景 三、从人工神经网络ANN到脉冲神经网络SNN 1、脉冲 2、稀疏性&#xff08;Sparsity&#xff09; 3、事件驱动处理&#xff08;静态抑制&#xff09; 四、脉冲…