react虚拟dom创建和jsx语法基础

本文介绍了React中虚拟DOM的概念及其创建方法,包括使用JSX和纯JavaScript语法创建虚拟DOM。JSX作为React的核心,简化了DOM操作,提高了渲染效率。jsx语法规则包括不加引号定义标签、内嵌JS表达式、使用className代替class等。此外,还强调了JS表达式与JS语句的区别。
摘要由CSDN通过智能技术生成

react虚拟dom创建和jsx语法基础

前言

react不会让你对真实dom操作,首先要创建虚拟dom
然后每次更新从最外层标签进行对比只更新修改了的dom,大大提高渲染效率。

虚拟dom创建

  • jsx语法创建
const VDOM = (  /* 此处一定不要写引号,因为不是字符串 */
			<h1 id="title">
				<span>Hello,React</span>
			</h1>
		)
		//2.渲染虚拟DOM到页面

ReactDOM.render(VDOM,document.getElementById('test'))
  • js语法创建
//1.创建虚拟DOM
const VDOM = React.createElement('h1',{id:'title'},React.createElement('span',{},'Hello,React'))
//2.渲染虚拟DOM到页面
ReactDOM.render(VDOM,document.getElementById('test'))

jsx语法基础

jsx解释

JSX是JavaScript XML的简写表示了在JavaScrit代码中写XML(HTML)格式的代码.
优势:声明式语法更加直观,与HTML结构相同,降低学习成本,开发效率。

JSX是react的核心内容

jsx不是标准的js语法,是js的语法扩展,脚手架内置的@babel/plugin-transform-react
jsx包,用来解释该语法。

jsx语法规则

jsx语法规则:
	1.定义虚拟DOM时,不要写引号。
	2.标签中混入JS表达式时要用{}。
	3.样式的类名指定不要用class,要用className。
	4.内联样式,要用style={{key:value}}的形式去写。
	5.只有一个根标签
	6.标签必须闭合
	7.标签首字母
		(1).若小写字母开头,则将该标签转为html中同名元素,若html中无该标签对应的同名元素,则报错。
		(2).若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错。

js表达式和js语句的区别

一定注意区分:【js语句(代码)】与【js表达式】
	1.表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方
		下面这些都是表达式:
			(1). a
			(2). a+b
			(3). demo(1)
			(4). arr.map() 
			(5). function test () {}
	2.语句(代码)下面这些都是语句(代码)
			(1).if(){}
			(2).for(){}
			(3).switch(){case:xxxx}
		
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值