JSX 简介

JSX

  • JSX 是 JavaScript 的语法扩展,可以很好的描述 UI 应该呈现出它应有交互的本质形式。会让人联想到模板语言,但 JSX 拥有 JavaScript 的全部功能

    ```jsx harmony

const element = Hello, World!;

## 为什么要使用 JSX ?

* React 认为渲染逻辑本质上与其他 UI 逻辑内在耦合,比如,在 UI 中需要绑定处理事件、在某些时刻状态发生改变时需要通知到 UI,以及在 UI 中展示准备好的数据

## 在 JSX 中嵌入表达式 ?

* 在 JSX 语法中,你可以在大括号内放置任何有效的 JavaScript 表达式
```jsx harmony

const name = 'josh Perez'
const element = <h1>Hello, {name}</h1>

ReactDOM.render(
    element,
    document.getElementById('root')
)

JSX 也是一个表达式

  • 在编译之后,JSX 表达式会被转换为普通的 JavaScript 函数调用,并且对其取值后得到 JavaScript 对象

  • 也就是说,你可以在 if 语句和 for 循环的代码块里面使用 JSX

    ```jsx harmony

function getGreeting(user) { if (user) { return Hello, {formatName(user)}!; } return Hello, Stranger. }

使用 JSX 指定子元素

  • 假如一个标签里面没有内容,你可以使用 /> 来闭合标签,就像 XML 语法一样

JSX 防止注入攻击

  • 可以安全地在 JSX 当中插入用户输入内容

  • React DOM 在渲染所有输入内容之前,默认会进行转义。它可以确保在你的应用中,永远不会注入那些并非自己明确编写的内容。所有的内容在渲染之前都被转换成了字符串,可以有效地防止 XSS 攻击

    ```jsx harmony

const title = response.potentiallyMaliciousInput; //直接使用是安全的: const element = {title}

最后更新于

这有帮助吗?