JSX简介

摘要:
1.JSX 1.1的基本用法。createElement()的问题很乏味,不简洁,不直观,而且无法一眼看到结构。它不优雅,用户体验也不好。1.2 JSX引入了JavaScript XML,并用JavaScript编写XML(HTML)代码。JSX是React的核心内容。1.3使用JSX语法创建act元素consttitle=JSXJSX使用ReactDOM。render()方法来渲染reac

1.JSX的基本使用

1.1 createElement()的问题

  • 繁琐不简洁
  • 不直观,无法一眼看出结构.
  • 不优雅,用户体验不好.

1.2 JSX简介

JavaScript XML,在JavaScript中书写XML(HTML)格式的代码.

JSX是React的核心内容.

1.3 使用

  1. 使用JSX语法创建react元素
const title = <h1>JSX JSX </h1>
  1. 使用ReactDOM.render()方法渲染react元素到页面中
ReactDOM.render(title,root)

1.4 注意点

  1. React元素的属性名使用驼峰命名法
  2. 特殊属性名: class->className、for->htmlFor、tabindex->tabIndex
  3. 没有子节点的React元素可以用/>结束
  4. JSX元素建议使用()包裹

2.JSX中使用JavaScript表达式

语法

{JavaScript表达式}

3.JSX的条件渲染

const isLoading = true

/* 定义函数loadData() */ 
const loadData = () => {
    if(isLoading){
        return <div>数据加载中...</div>
    }
    return <div>数据加载完成</div>
}

/* 使用 */
const title = (
    <h1>
    条件渲染:
    {loadData()}
    </h1>
)

4.JSX的列表渲染

使用数组的map()方法

渲染列表时需要添加key属性: key属性要保证唯一,尽量避免使用索引作为key.

/* 定义list */
const oneList = [
    {id:1,name:"yang"},
    {id:1,name:"su"},
    {id:1,name:"li"},
    ]

/* 使用 */
const list = (
	<ul>
    {oneList.map(item =><li key={item.id}> {item.name} </li>)}
    </ul>
)

5.JSX的样式处理

5.1 行内样式style

const list =(
    <h1 style= {{ color:'red' }}>
    文字
	</h1>
)

5.2 类名className

const list =(
	<h1 className="xx">
    文字
	</h1>
)

免责声明:文章转载自《JSX简介》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇redux简明学习天气雷达原理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

React:使用手写签名插件:react-canvas-draw 和 react-signature-canvas

1、安装npm install react-canvas-draw --save2、导入 import CanvasDraw from "react-canvas-draw";3、使用组件 signCanvas= React.createRef(); 设置签名组件的属性 <CanvasDraw ref={this.signCanvas}...

用javascript的classList代替jquery的class操作

javascript的className操作方法比较难受,他获取的是一个连续的字符串 必须要用split拆分开,好多人因此想去用jquery的addClass,removeClass,hasClass等等 classList解决了这个问题,虽然兼容性并不算好。但会更好的,我们先学习一下 HTMLElement都会有classList属性, 主要方法有如下:...

Unity3D脚本语言UnityScript初探

译者注: Unity3D中支持三种语言:JavaScript、C#、Boo,很多人不知道如何选择,通过这篇译文,我们可以搞清楚这三者语言的来龙去脉,对选择主语言有一定的借鉴意义。 首先,Unity是基于Mono也就是.Net的运行环境的,所以它肯定支持C#;然后,Unity团队自行开发了一种Boo的语言;后面可能考虑到用户的接受程度的问题,又开发了类似J...

html-javascript前端页面刷新重载的方法汇总

一、javascript页面刷新重载的方法: 1 <a href="javascript:location.reload();">点击重新载入页面</a> 2 <a href="javascript:history.go(0);">点击重新载入页面</a> 3 <a href="javascript:l...

web worker在react项目中的使用

新建一个worker.js文件,编写worker子线程脚本,代码如下: const workercode = () => { self.onmessage = function(e) { console.log('Message received from main script'); var workerResult = 'R...

关于JAVASCRIPT中的DATASET

DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。所谓独立,就是说,即使断开数据链路,或者关闭数据库,DataSet依然是可用的,DataSet在内部是用XML来描述数据的,由于XML是一种与平台无关、与语言无关的数据描述语言,而且可以描述复杂关系的数据,比如父子关系的数据,所以...