Skip to content

JSX

JSX stands for JavaScript XML. It is a syntax extension to JavaScript.

Why JSX?

关注点分离:不是直接分离html,css,js文件,而是逻辑关联的“组件”,实现某个组件的html,css,js都放在同一个文件。最主要的还是html和js的融合,css通常不使用行内样式。

基本语法

  • 在HTML中写JavaScript,表达式写在{}里面
  • JSX代码本身是一段表达式,可以当做右值
  • Babel 会把 JSX 转译成一个名为 React.createElement() 函数调用。
  • 组件化使用 jsx 而不是模板
  • 规则:
    • 只能有一个根元素,可以用根标签 <>...</>
    • 标签必须闭合
    • 小写字母开头,则认为是元素,大写字母开头,则认为是组件
    • className={} onClick={} style={
  • JSX 防止注入攻击(XSS (cross-site-scripting)):React DOM 在渲染所有输入内容之前,默认会进行转义。它可以确保在你的应用中,永远不会注入那些并非自己明确编写的内容。所有的内容在渲染之前都被转换成了字符串。这样可以有效地防止 XSS(cross-site-scripting, 跨站脚本)攻击。

Powered by VitePress