五分钟学习React(二):我的第一个Hello World
我的第一个React应用
接着我们上一期所讲的内容,通过create-react-app
脚手架创建的应用,它是基于ES6的语法生成的。我们清空src目录下的文件,并分别创建index.js和index.css文件。
cd my-app/src
rm -rf *
touch index.js
touch index.css
现在我们编辑index.js文件,
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
启动npm start,页面上显示:
代码解释
Hello World应用虽然简单,但是已经把react的基本架构包含在内。我们解释下每行的意义。
第一行:import React from 'react'
中的react是React库的入口文件,React库的顶级API都在这个文件中定义。包括React组件(components)、创建React元素(createElement)等
第二行:import ReactDOM from 'react-dom'
中的react-dom包提供了应用顶层使用的DOM特定方法,如render()、hyrate()、unmountComponentAtNode()、findDOMNode()、createPortal()等
第三行: 引入css文件使index.js中的react-dom能够被index.css渲染。
第四-七行:
ReactDom.render()方法的定义如下:
ReactDOM.render(
element,
container,
[callback]
)
这段代码的意思是将<h1>Hello, world!</h1>
这个React元素放入一个id为root的container容器中中。这里值得注意的是<h1>Hello, world!</h1>
并不是传统意义上的HTML模板,而是叫JSX的一个React扩展文件。
在这一期我们讲了一个基本的React应用,它是基于ES6的语法生成的。它通过render的方法将React元素加载到container中。
下一期我们将介绍下非ES6的React应用。
五分钟学习React(二):我的第一个Hello World的更多相关文章
- 五分钟学习React(三):纯HTML代码搭建React应用
上一期我们使用了React官方的脚手架运行React应用.大家可能会觉得这种方法很繁琐,需要配置各种第三方插件.JQuery时代的前端真是让人怀念.这一期,我就带领大家创建一个"怀旧版&qu ...
- 五分钟学习React(一): 什么是React
在前端的世界里,我们要处理的文件不是太多,而是太少.每天开发项目将html.css.js.图片.字体文件都像大杂烩一般加载都网页上.当应用变得越来越臃肿的时候,会发现js用了那么多全局变量,css的继 ...
- 五分钟学习React(六):元素(Element)和组件(Component)
俗话说"万丈高楼平地起",从这一期开始,我们将使用基于Webpack+Babel的React学习React框架中的一些基础概念.在学习React的过程中经常会把Element.Cl ...
- 五分钟学习React(五):React两种构建应用方式选择
经过这四期的讲解,我们从Hello World应用入手,解释了React最重要的概念JSX,以及两种不同模式的应用构建方法.这一讲我们着重对比传统模式和新模式下的React项目构建,从而为初学者提供学 ...
- 五分钟学习React(四):什么是JSX
JSX,即javscript XML,是js内定义的一套XML语法.目前是使用babel作为JSX的编译器.这也是在前几期中载入babel的原因. Facebook引入JSX是为了解决前端代码工程复杂 ...
- 《sed的流艺术之四》-linux命令五分钟系列之二十四
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- 《sed的流艺术之三》-linux命令五分钟系列之二十三
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- 《sed的流艺术之二》-linux命令五分钟系列之二十二
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- 《sed的流艺术之一》-linux命令五分钟系列之二十一
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
随机推荐
- 在dotnet core web api中支持CORS(跨域访问)
最近在写的Office add-in开发系列中,其中有一个比较共性的问题就是在add-in的客户端脚本中访问远程服务时,要特别注意跨域访问的问题. 关于CORS的一些基本知识,请参考维基百科的说明:h ...
- Redis的那些最常见面试问题
随笔:经过长达一周的奔波和面试,电话面试,回首今天终于成功的入职了,总共面试了大概10家公司,包括阿里,京东,IBM等等,京东技术过了,学历因为非统招就被pass了,阿里面了2次电话面试就没下文了,估 ...
- 后台程序处理 (一)python asyncio 协程使用
由于脚本需要在完成事件处理后N秒检查事件处理结果,当执行失败时再执行另一个事件处理. 想要最小化完成这个功能.同时在第一时间就将执行完毕的结果反馈给接口. 因此想到使用协程. 使用之前先翻阅了一下现有 ...
- oracle如何连接别人的数据库,需要在本地添加一些配置
2.oracle如何连接别人的数据库,需要在本地添加一些配置 1.找到 listener.ora 文件,打开(一般在 C 文件夹) ORCL = (DESCRIPTION = (ADDRESS = ( ...
- 登录验证码demo-java
在一些类似于管理系统的项目中,我们在登录时经常会用到图片验证码.这里把我自己写的一个小系统(后台是java语言)的验证码部分摘出来. 总体思路是后端有一个生成验证码图片的接口,把验证码图片写入浏览器, ...
- 随聊——Python的前世今生
1989年圣诞节前夕,山雨欲来风满楼,计算机程序设计语言界隐隐有大事要发生,果然不出所料.江湖人称龟叔(Guido von Rossum),就是这位祖籍荷兰的大能,在圣诞节百无聊赖的期间,发明了Pyt ...
- Spark Streaming VS Flink Streaming
引自:https://www.slideshare.net/datamantra/introduction-to-flink-streaming
- 微信小程序教学第二章:小程序中级实战教程之预备篇 - 项目结构设计 |基于最新版1.0开发者工具
iKcamp官网:http://www.ikcamp.com 访问官网更快阅读全部免费分享课程:<iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享>. ...
- 1.移植uboot-分析uboot启动流程(详解)
本节总结: uboot启动流程如下: 1)设置CPU为管理模式 2)关看门狗 3)关中断 4)设置时钟频率 (FCLK:HCLK:PCLK=1:2:4,FCLK=120Mhz) 5)关mmu,初始 ...
- date 命令详解
date - print or set the system date and time Display the current time in the given FORMAT, or set th ...