React框架概述
一、React框架概述
官网:https://reactjs.org/ 最新版V16.10
中文网:https://zh-hans.reactjs.org/
中文社区网:https://react-1251415695.cos-website.ap-chengdu.myqcloud.com/
由Facebook维护的MVVM框架,官方定义自己是一个“用于构建UI的JS库”——核心概念很少;但生态圈扩展非常广泛,如
React-Router:路由、
Redux: 状态保持、
ReactVR/360: 虚拟现实、
ReactNative:使用JS做App原生开发...
二、HTML元素属性(Attribute) vs JS DOM对象的属性(Property)
任何一个HTML元素都对应一个JSDOM对象,有两套属性系统。
HTML元素属性 JS DOM对象的属性
Attribute Property
-------------------------------------------------------------------------------
<img src="" id="" title=""> img.src =""
img.id =""
img.title =""
--------------------------------------------------------------------------------
<img class=""> img.className = ""
--------------------------------------------------------------------------------
<label for=""> label.htmlFor = ""
--------------------------------------------------------------------------------
<td colspan=""> 没有对应项
---------------------------------------------------------------------------------
div.innerHTML =""
没有对应项 div.innerText =""
三、使用SCRIPT方式引入React
<div id="box"></div>
<script src="js/react.js"></script> 提供React对象
<script src="js/react-dom.js"></script> 提供ReactDOM对象
<script>
let el = React.createElement(标签名,属性列表,内容/子元素)
ReactDOM.render( el, box )
</script>
四、JSX
JavaScript XML:形式是XML,本质是JS对象------可以看做是一种JS的变种(类似于TS) ------ 浏览器
无法理解JSX语法,必须用编译器转化为JS才能被浏览器执行。
JSX语法规范:
1.JSX不是字符串!最外侧不能有引号!
2.JSX形式上不是HTML语法,而是XML语法;故<br>必须写作<br/>;属性值必须用引号;有且只能有一个根元素。
3.JSX中可以使用HTML标签,但严格区分大小写-----任何HTML标签必须全小写,
自定义组件名必须使用大驼峰法则,如<MyHeader></MyHeader>
4.因为JSX中都是JS对象,所以属性都要使用DOM属性,而不是HTML属性,例如:
<p className="..."></p>
5.JSX片段中还可以出现JSX表达式:{ }
Babel:是一个第三方提供的JS变种编译器,可以把ES/TS/JSX转化为标准的JS代码,
使用方法:
<script src="js/babel.js"></script>
<script type="text/babel"></script>
练习:使用React在#box中添加如下的DOM结构-------使用JSX语法代替React.create()
<div class="login">
<label for="uname">用户名</label>
<input type="text" id="uname"></input>
</div>
<div id="box">请稍候...</div>
<script src="js/react.development.js"></script>
<script src="js/react-dom.development.js"></script>
<script src="js/babel.min.js"></script>
<script type="babel">
let el =
<div className="login">
<label htmlFor="uname">用户名</label>
<input type="text" id="uname"></input>
</div>
ReactDOM.render(el, box);
</script>
把上述数据渲染在一个table中,每个员工信息对应在一个tr,内部包含四个td
(<video>),否则显示一段警告消息(<p>积分不足无法观看</p>)
let score=0;
React框架概述的更多相关文章
- Web框架概述——React.js
目前,在前端Web开发中,三大热门框架为React.js,Vue.js,Angular.js .当然,三大框架各有各的优缺点,这里就不多说了,下面我就针对前段时间所学的React框架做一下整体知识点的 ...
- Entity Framework 学习总结之一:ADO.NET 实体框架概述
http://www.cnblogs.com/xlovey/archive/2011/01/03/1924800.html ADO.NET 实体框架概述 新版本中的 ADO.NET 以新实体框架为特色 ...
- ThinkPHP框架概述
框架概述 1.什么是框架 框架,即framework.其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统. 2.框架的应用场景 ① 代码重用 ② 合理分工 ③ 解决团队协作开发问题 3. ...
- iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明
iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...
- 当react框架遇上百度地图
百度地图官方文档的使用指导是这样说的:在页面中引入<script type="text/javascript" src="http://api.map.baid ...
- 谈谈出入React框架踩过的坑
1 在JSX的元素中写入内联样式,例如<div style={"color:blue"}></div> 报错:warning:Style prop valu ...
- struts2框架概述
框架概述 什么是框架,为什么使用框架,框架优点 框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题 框架,即framework.其实就是某种应用的半成品,就是一组组件,供你 ...
- 芝麻软件: Python爬虫进阶之爬虫框架概述
综述 爬虫入门之后,我们有两条路可以走. 一个是继续深入学习,以及关于设计模式的一些知识,强化Python相关知识,自己动手造轮子,继续为自己的爬虫增加分布式,多线程等功能扩展.另一条路便是学习一些优 ...
- 【react】当react框架遇上百度地图
百度地图官方文档的使用指导是这样说的:在页面中引入<script type="text/javascript" src="http://api.map.baid ...
随机推荐
- 微信网页授权报code been used, hints: [ req_id: XYv1Ha07042046 ]
先贴上代码: public function index() { $code = input('get.code'); $tool = new Wxtool(); if (empty($code)) ...
- Spring MVC之LocaleResolver详解
2019独角兽企业重金招聘Python工程师标准>>> 对于LocaleResolver,其主要作用在于根据不同的用户区域展示不同的视图,而用户的区域也称为Locale,该信息是可以 ...
- 如何将Superset嵌入后台系统之实践
1. 前言 此次实践过程全属个人学习,我选择了在window下安装Superset,并进行嵌入后台系统实践.对此进行实践过程总结,实践成果分享给大家,供大家参考,如果你有更好的想法,欢迎留言交流. 2 ...
- POJ - 2251 Dungeon Master (搜索)
You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of un ...
- The Preliminary Contest for ICPC Asia Xuzhou 2019 徐州网络赛 K题 center
You are given a point set with nn points on the 2D-plane, your task is to find the smallest number o ...
- 从零开始制作数据集所需要的所有python脚本
最近一直在做图片数据集,积累了很多心得.我把我所使用的python脚本全部拿出来,当然这些脚本大部分网上都有,只不过比较分散. 我已经把所有代码上传到github上,觉得写的好的话,请给我一个star ...
- WCF学习(二)
WCF通道模型 绑定的本质是一个配置好的通道栈,为了方便程序员专著与业务逻辑,WCF提高了一系列常用绑定.随后会有相应的自定义通道栈代码 无论交互的另一方具体位置在哪里,WCF都会为消息的发送和接收建 ...
- webpack-常用配置知识点
webpack配置多页面 webpcak配置多页面需要在entry中配置多个,在plugins中配置多个htmlWebpackPlugin,具体如下 entry:{ "index" ...
- 【FPGA篇章四】FPGA状态机:三段式以及书写方法
欢迎大家关注我的微信公众账号,支持程序媛写出更多优秀的文章 状态机是fpga设计中极其重要的一种技巧,状态机通过不同的状态迁移来完成特定的逻辑操作,掌握状态机的写法可以使fpga的开发事半功倍. 状态 ...
- QtCreator中使用链接库
说明 之前讨论的DLL的静态链接和动态连接都是基于 MSVC 编译器,但是 MinGW 似乎有另外一套类似但是不相同的机制.下文均在 windows 下使用 Qt Creator 中使用 MinGW ...