文章目录

  • 一、什么是React
  • 二、React 的特点
  • 三、React第一个实例
  • 四、JSX语法
  • 1、 定义虚拟DOM时不要用引号。
  • 2、标签混入JS表达式需要用{ }
  • 3、className样式的类名
  • 4、内联样式
  • 5、只有一个根标签
  • 6、标签必须闭合
  • 7、 标签首字母
  • 8、 js表达式

一、什么是React?

  • React 是一个用于构建用户界面的 JAVASCRIPT 库。
  • React 主要用于构建 UI,很多人认为 React 是 MVC 中的 V(视图)。
  • React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月开源。
  • React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。

二、React 的特点

1.声明式设计 −React采用声明范式,可以轻松描述应用。

2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。

高效的原因

·使用虚拟(virtual)DOM,不总是直接操作页面真实DOM。

·DOM Diffing算法,最小化页面重绘

说明:React并不会提高渲染速度,反而可能会增加渲染时间,真正高效的原因是它能有效`减少渲染次数`。

3.灵活 −React可以与已知的库或框架很好地配合。

4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。

5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。

6.单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

三、React第一个实例

那么React该如何使用呢?下面就通过一个小案例来学习吧!

1、虚拟DOM

概念

  • · 本质时Object类型的对象(一般对象)
  • · 虚拟DOM比较'轻',真实DOM比较'重',因为虚拟DOM是React内部在用,无需真实DOM上那么    多的属性(只有React需要的属性)
  • · 虚拟DOM最终会被React转化为真实DOM,呈现在页面上

2、JSX创建虚拟DOM

准备容器

<div id='root'></div>

引入react 文件

<!-- react核心库 --><script src="../JS/react.development.js"></script><!-- react扩展库 操作dom元素--><script src="../Js/react-dom.development.js"></script><!-- 把jsx语法转js --><script src="../Js/babel.min.js"></script>

创建虚拟DOM

const V_DOM=React.createElement('h1',{id:'title'},'hello react!');
ReactDOM.render(V_DOM,document.getElementById("root"));//渲染到页面

四、JSX语法

JSX是一种JavaScript的语法扩展、是一种嵌入式的类似XML的语法,常应用于React架构中,但也不仅限于此.应该说JSX因React框架而流行,但也存在其他的实现.只要你够厉害,甚至能在单片机上实现(当然你要自己写出它的实现方式)。

1、 定义虚拟DOM时不要用引号。

错误形式:

let V_DOM = ‘<h1>hello,react</h1>’

正确形式:

let V_DOM = <h1>hello,react</h1>

2、标签混入JS表达式需要用{ } 

举例:

let str  = "hello,react!";let V_DOM = (<h1><span>{str}</span></h1>)

3、className样式的类名

样式的类名指定不要用class,要用className

let V_DOM = (<h1 className='demo'><span>我是文本内容</span></h1>)

4、内联样式

要用style={{key:value}}的形式(`双{}代表对象,单{}代表表达式`)去写。

let V_DOM = (<h1 className='demo'><span style={{color:'blue',fontSize:'30px'}}>我是文本内容</span></h1>)ReactDOM.render(V_DOM,document.getElementById("hello"));

5、只有一个根标签

错误形式:

 let V_DOM = (<h1 className='demo'><span style={{color:'blue',fontSize:'30px'}}>我是文本内容</span></h1><p>我是段落</p>)

正确形式:

 // 定义虚拟dom const V_DOM =(<div><p style={{color:'green',fontSize:'20px'}}>姓名:{realname}</p><p className="myage">年龄:{age}</p></div>)ReactDOM.render(V_DOM, document.getElementById('root'));

6、标签必须闭合

举例:<input type=”text” name=’myname’ value=’’></input>

7、 标签首字母

·若`小写字母开头`,则将该标签转为html中同名元素,若html中无该标签对应的同名元素,则`报错`。

·若`大写字母开头`,react就去渲染对应组件,若组件没有定义,则`报错`。

8、 js表达式

一个表达式会产生一个值,可以放在任何一个需要值的地方,例如:

  • · a
  • ·a+b
  • ·demo(1)
  • ·arr.map(
  • )
  • ·function test(){}

语句:不能放在创建虚拟dom语句中

  • ·   if(){}
  • ·   for(){}
  • ·   switch(){}

四、小练习

需求: 遍历数组信息并输出到页面上

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>渲染人员数据</title>
</head><body><div id="root"></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="text/babel">//   自定义人员数据const persons = [{ realname: 'Jack', age: 18 },{ realname: 'Lucy', age: 20 },{ realname: 'Tom', age: 21 },{ realname: 'John', age: 25 }]// 定义虚拟domconst V_DOM = (<ul>{persons.map((item)=>{return <li>姓名:{item.realname},年龄:{item.age}</li>})}</ul>)ReactDOM.render(V_DOM, document.getElementById('root'));</script>
</body></html>

React —— React 中的JSX语法相关推荐

  1. jsx 调用php,JavaScript_JavaScript的React框架中的JSX语法学习入门教程,什么是JSX? 在用React写组件的 - phpStudy...

    JavaScript的React框架中的JSX语法学习入门教程 什么是JSX? 在用React写组件的时候,通常会用到JSX语法,粗看上去,像是在Javascript代码里直接写起了XML标签,实质上 ...

  2. 【jsx开发Vue】在Vite+Vue3.0中使用jsx语法开发。

    所有内容首发微信公众号[WEB前端李志杰],未经允许禁止转载! 可能大家要问我为什么要使用jsx语法开发Vue? 首先要说明的是:个人认为jsx语法和模板语法并不存在优劣之分,在实际项目中应该优先选择 ...

  3. React学习笔记一 JSX语法组件

    JSX语法 1.标签不能添加引号,换行用括号包裹,并且只有一个根标签 const H1 = <h1>标题</h1> const Div = (<div><h1 ...

  4. React 学习笔记:JSX 语法

    JSX JSX 是 JavaScript XML 的简写,表示了在 JavaScript 中书写 XML 格式的代码.它可以让我们在 React 中创建元素更加简单,并且保留 HTML 代码的结构更直 ...

  5. React框架简介(JSX语法、组件、虚拟DOM渲染)

    目录 React框架 为什么要学习React React特点 React核心 JSX语法 语法详解 React开发过程 实际DOM 虚拟DOM React组件 函数组件 类组件 虚拟DOM渲染过程 R ...

  6. React飞行日记(三) - JSX语法的渲染流程

    Jsx的渲染流程 在React.js中, 其为我们提供了一种JSX语法, 能够直接在JS文件中进行虚拟DOM代码的编写, 并在编译后转换成真实DOM渲染到页面中, 那么React是怎么把JSX的虚拟D ...

  7. React基本使用、jsx语法介绍

    文章目录 1. 第一个 react 应用 2. jsx 2.1 jsx 介绍 2.2 使用 jsx 重构页面显示结构 2.3 jsx 表达式 2.4 jsx 动态属性赋值 2.5 jsx 列表渲染 1 ...

  8. jsx怎么往js里传参数_在vue中使用jsx语法的使用方法

    什么是JSX? JSX就是Javascript和XML结合的一种格式.React发明了JSX,利用HTML语法来创建虚拟DOM.当遇到 我为什么要在vue中用JSX? 想折腾一下呗,开玩笑.最开始是因 ...

  9. 在Vue 中使用 JSX 语法

    Vue 中构建虚拟DOM可以直接使用渲染函数构建虚拟Dom,正常情况下用render函数的参数createElement方法构建虚拟Dom的语法比较繁琐,更方便的是用更接近于模板的JSX语法. Vue ...

最新文章

  1. 如何拿到高薪数据分析师offer?从精准解读一篇招聘信息开始!
  2. Android JNI入门第五篇——Android.mk分析
  3. centos下yum安装mysql5.7_CentOS下yum安装mysql5.7
  4. 6.LibSVM核函数
  5. win7 下的open live writer代码插件
  6. 智能水杯设计方案_智能水杯盖方案开发
  7. springboot创建项目2 开发环境的搭建
  8. unity3d Android多渠道,Unity For Android多渠道SDK接入解决方案
  9. 156万在校大学生!中国高校第一城诞生
  10. 软件测试python测试步骤_软件测试员必备基础:3分钟带你入门自动化测试!
  11. 3D模型贴图算法归纳讨论,以及OpenGL渲染器中的数据格式——篇1:模型展开算法与UV贴图
  12. Win11磁盘碎片整理在哪?Win11机械硬盘磁盘碎片整理方法
  13. ai黑白棋_AI的黑白镜
  14. java 情感分析_Alink中文情感分析示例(Java版本)
  15. 验证方法学覆盖率(一):代码覆盖率
  16. yp集之p8简单数论
  17. 【scrapy爬虫】最新sogou搜狗搜索 机智操作绕过反爬验证码(搜狗微信公众号文章同理)
  18. 计算机相近专业职称,计算机专业技术职称有哪些?
  19. 第八课.TPAMI2021年多篇GNN相关工作
  20. 详解央行数字货币和数字票据交易平台架构(多图)

热门文章

  1. openCV图像处理常用算法总结
  2. java实现批量插入数据
  3. 也说FLV格式分析(C语言从0开始,详解,完整版)
  4. AI智能视频审核|图普科技高效把控短视频平台用户的内容生产
  5. istio-proxy性能洞察之路---性能调研的终点、调优之路的出发点
  6. 常用音频接口:TDM,PDM,I2S,PCM
  7. matlab互相关运算
  8. anaconda及jupyter安装配置
  9. [Ec Final 2018] Eventual … Journey
  10. MES需要遵从哪些行业标准