JSX语法简介

const ele = <h1>Hello World!</h1>;

值不是字符串,而是一个标签

JSX是JavaScript和XML结合的一种格式。Js的语法扩展,完全在Js内部实现。

这种语言用于声明React中的元素,利用HTML语法来创建虚拟DOM。


在JSX中使用表达式

表达式被包含在一对大括号中,在大括号中可以写任意JS支持的表达式。包括函数调用、2+2等。

import React,{Fragment,Component} from 'react';//大括号中的是react的子类

const num = 100;

function fn(){}

const ele1 = <h1>{num}</h1>;

const ele2 = <p>{num+1}</p>;

const  ele3 = <div>{fn()}</div>;

ReactDOM.render(ele1,document.getElementById('root');

JSX中元素的属性以及JSX嵌套

JSX元素中可以添加任意设置的属性,可以是由引号包围的字符串值,也可以是大括号包围的变量。

const ele = <div name='username'></div>;

const ele = <img src = {url} />;//是属性与元素的嵌套

同样在标签中也可以嵌套标签。注意需要用括号括起来,并且,两个并列的标签必须由一个父级标签包裹。

const ele = (<div>

        <h1>lalala</h1>

        <p>lalala</p>

</div>);

注意:JSX中的属性是驼峰命名法。例,className。

React元素

在Babel编译时,会把JSX转换成一个名为React.createElement(type,[,props],[,children])的方法调用,返回JavaScript对象。此处参数children若为多个,则为数组,同样可嵌套一个新的对象。

以下两段代码实际上是一样的。

const ele = (<h1 className='hello'>

    Hello,world!

</h1>);

const ele = React.createElement('h1',

{className:'hello'},

'Hello,world!');

React.createElement()这个函数实际返回一个Js对象,也就是真正的React元素

const element = {

        type: 'h1',

        props: {

                className: 'hello',

                children: 'Hello, world'

        }

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值