react文档笔记

jsx简介

jsx是一种javascript的语法扩展,jsx用来声明React当中的元素。

在jsx中使用表达式

jsx当中的表达式要包含在大括号里。例如2+2,user.firstName,formatName(user)等等。

function formatName(user){
return user.firstName + ' ' +user.lastName
} const user = {
firstName:'Harper',
lastName:'perez'
}; const element = (
<h1>
hello,{formatName(user)}!
</h1>
) ReactDom.render(
element,
document.getElementById('root')
)

在书写jsx的时候一般会带上换行和缩进,这样可以增强代码的可读性,在jsx代码外面加上一个小括号,这样可以防止分号自动插入的bug。

jsx本身其实也是一种表达式

在编译之后,jsx其实会被转化为普通的javascript对象。这也就意味着可以下if或者for语句里使用JSX,将它复制被变量当做参数传入,作为返回值都可以:

function getGreeting(user){
if(user){
return <h1>hello,{formatName(user)}</h1>;
}
return <h1>hello,Stranger</h1>;
}

JSX属性

可以使用引号来定义以字符串为值的属性:

const element=<div tabIndex='0'></div>;

也可以使用大括号来定义以javascript表达式为值得属性:

const element=<img src={user.avatarUrl}></img>;

使用了大括号包裹的javascript表达式时就不要再到外面套引号了。JSX会将引号当中的内容识别为字符串而不是表达式。

JSX嵌套

如果Jsx标签是闭合式的,那么你需要在结尾处使用/>,就好像XML/HTML一样:

const element = <img src={user.avatatUrl}/>

JSX标签同样可以相互嵌套:

const element = {
<div>
<h1>Hello!</h1>
<h2>Good to see you here.</h2>
</div>
}

注意:JSX的特性更接近javascript而不是HTML,所以ReactDOM使用camelCase小驼峰命名来定义属性的名称,而不是使用HTML的属性名称。

JSX代表Objects

Babel转移其会把JSX转换成一个名为React.createElement()的方法调用。

下面两种代码的作用完全是相同的:

const element = (
<h1 class="greeting">
hello,world!
</h1>
);
const element =React.createElement(
'h1',
{className:greeting},
'hello,world!'
)

React.createElement()这个方法首先会进行一些避免bug的检查,之后会返回一个类似于下面例子的对象:

const element = {
type:'h1',
props:{
className:'greeting',
children:'hello,world'
}
}

这样的对象被称为“React元素”。他代表所有你在屏幕上看到的东西。React通过读取这些对象来构建DOM并保持内容一致。

jsx简介的更多相关文章

  1. React文档翻译系列(三)JSX简介

    # React文档翻译系列(三)JSX简介 先来看一下下面的变量声明: ``` const element = Hello world! ``` 这种有趣的标签语法既不是字符串也不是HTML. 这种形 ...

  2. React基础篇 - 02.JSX 简介

    JSX 简介 请观察下面的变量声明: const element = <h1>Hello, world!</h1>; 这种看起来可能有些奇怪的标签语法既不是字符串也不是HTML ...

  3. 【译】快速起步-JSX简介

    react version: 15.5.0 快速起步-JSX简介 思考这个变量申明: const element = <h1>Hello, world!</h1>; 这个有趣的 ...

  4. React学习笔记 - JSX简介

    React Learn Note 2 React学习笔记(二) 标签(空格分隔): React JavaScript 一.JSX简介 像const element = <h1>Hello ...

  5. JSX 简介

    JSX 简介 考虑如下变量声明: const element = <h1>Hello, world!</h1>; 这个有趣的标签语法既不是字符串也不是HTML. 它被称为JSX ...

  6. React 入门学习笔记整理(二)—— JSX简介与语法

    先看下这段代码: import React from 'react'; //最终渲染需要调用ReactDOM库,将jsx渲染都页面中 import ReactDOM from 'react-dom'; ...

  7. react学习(一)--JSX简介

    由于在中国银联实习的项目要用到react,所以不得不硬着头皮把react学习一下.这是要往全栈发展吗0.0 正文: 一个最简单的React例子如下, ReactDOM.render( <h1&g ...

  8. JSX语法简介

    React的核心机制之一就是可以在内存中创建虚拟的DOM元素.React利用虚拟DOM来减少对实际DOM的操作从而提升性能. JSX简介 JSX就是Javascript和XML结合的一种格式.Reac ...

  9. 从零开始学前端,React框架背后的核心机制和原理JSX

    什么是React React是起源于Facebook的一个前端框架,用于构建用户界面的JavaScript库,Facebook用来探索一种更加高效优雅的Javascript MVC框架来架设Insta ...

随机推荐

  1. thinkphp DEFINED标签

    DEFINED标签用于判断某个常量是否有定义,用法如下: 大理石平台检验标准 <defined name="NAME"> NAME常量已经定义 </defined ...

  2. 线段树逆序对(偏序)——cf1187D好题!

    /* 排除掉所有不可能的情况,剩下的就是可行的 1.数的数量不相同 2.对任意一个区间进行排序,等价于可以交换任意逆序对, 那么从1到n扫描b数组,判断是否可以将a数组中等于b[i]的值所在的位置j交 ...

  3. 判断MDI窗体的子窗体是否存在

    //***************************************************************************//函 数名: CreateForm//返 回 ...

  4. (转)谈谈Android中的Rect类——奇葩的思维

    最近在工作中遇到了一些问题,总结下来就是Android中Rect这个类造成的.不得不说,不知道Android SDK的开发人员是怎么想的, 这个类设计的太奇葩了.首先介绍一下Rect类:Rect类主要 ...

  5. 基于UDP协议的套接字编程

    基于udp协议的套接字编程 UDP是无链接的,先启动那一端都不会报错 UDP协议是数据报协议,发空的时候也会自带报头,因此客户端输入空,服务端也能收到 一般不用与传输大数据 虽然没有粘包问题,但是不能 ...

  6. js文件操作之——导出Excel (js-xlsx)

    前阵子跟server同学讨论一个Excel导出的需求,我说JS搞不定,需要server来做,被server同学强行打脸. 今天研究了下,尼玛,不光可以,还很强大了! 总结:经验是害人的,尤其是在发展迅 ...

  7. 安装MySql社区版(35-3)

    1,https://dev.mysql.com/ --------------------------------------------------------------------------- ...

  8. 使用CEfSharp之旅(6)拦截网络请求 截取response返回

    原文:使用CEfSharp之旅(6)拦截网络请求 截取response返回 版权声明:本文为博主原创文章,未经博主允许不得转载.可点击关注博主 ,不明白的进群191065815 我的群里问 https ...

  9. 使用CEfSharp之旅(5)CEFSharp 隔离Cookie

    原文:使用CEfSharp之旅(5)CEFSharp 隔离Cookie 版权声明:本文为博主原创文章,未经博主允许不得转载.可点击关注博主 ,不明白的进群191065815 我的群里问 https:/ ...

  10. T2963 贪吃蛇【BFS,四进制状压,A*】

    Online Judge:未知 Label:BFS,四进制状压,暴力,A*,哈希,玄学. 题目描述 给定一个n*m的地图和蛇的初始位置,地图中有些位置有石头,蛇不能经过.当然蛇也不能爬到地图之外. 每 ...