JSX语法

JSX就是 React.js 描述页面 UI 的方式(JSX 其实就是 JavaScript 对象)

JSX语法需要bable进行编译,React.createElement()

import React from 'react'
import ReactDOM from 'react-dom'

const element = <h1>Hello world</h1>;

ReactDOM.render(element,document.querySelector('#root'))

JSX为我们提供了创建react元素方法(React.createElement(component, props, ...children))的语法糖(syntactic sugar)。上面的代码实质上等价于:

import React from 'react'
import ReactDOM from 'react-dom'

var element = React.createElement(
    "h1",
    null,
    "Hello, world!"
)

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

每个 DOM 元素的结构都可以用 JavaScript 的对象来表示。你会发现一个 DOM 元素包含的信息其实只有三个:标签名,属性,子元素。

<div>
    <h1 className='title'>React</h1>
</div>

所以 HTML的所有的信息我们都可以用合法的 JavaScript 对象来表示的。

React.createElement(
    "div",
    null,
    React.createElement(
        "h1",
        { className: 'title' },
        "React"
    )
)

嵌入变量

用大括号包裹

let name = 'Liu'
let element = <p className = {name} />

大括号内可以写入变量,数字,求值表达式...

let name = 'LiuEnQing'
let male = true
let obj = {
    age:24,
    tal:13947368104
}
let ele = <p>
    {name}<br />
    {obj.age}<br />
    <span>{male ? '男' : '女'}</span>
</p>

注释

{/*[需要注释内容]*/}

results matching ""

    No results matching ""