初学react

1、是什么?

1.1、用于构建用户界面的JavaScript库

是一个将数据渲染为HTML视图的开源Javascript库

  1. 发送请求获取数据
  2. 处理数据(过滤、整理格式等)
  3. 操作DOM呈现页面

2、为什么要学?

2.1原生js缺点:
  1. 原生js操作DOM繁琐、效率低(DOM-API操作UI)
  2. 使用js直接操作DOM,浏览器会进行大量的重绘重排
  3. 原生js没有组件化编码方案,代码复用率低

3、React的特点:

  1. 采用组件化模式、声明式编码、提高开发效率及组件复用率。
  2. 在React Native中可以使用React语法进行移动端开发
  3. 使用虚拟DOM+优秀的Diffing算法,尽量减少与真实DOM的交互

4、React高效的原因

  1. 使用虚拟DOM不总是直接操作页面真实DOM。
  2. DOM Diffing算法,最小化也页面重绘。

5、创建虚拟DOM的两种方式

  1. 使用原生js创建

    <script type="text/javascript">
    			// <!-- 1.创建虚拟DOM -->
    			const VDOM=React.createElement('h1',{id:'title'},React.createElement('span',{id:'span'},'Hello!React'));
    			// 							标签名,标签属性,标签内容
    			// <!-- 2.渲染虚拟DOM到页面 -->
    			ReactDOM.render(VDOM,document.getElementById('test'))
    			// <!--         渲染虚拟目标,容器 -->
    </script>
    

    2.使用jsx创建

    <script type="text/babel">/*注意此处改为babel,声明不用js写,而用jsx写*/
    			// 1.创建虚拟DOM
    			const VDOM =(
    				<h1 id='title'>
    					<span>Hello!React</span>
    				</h1>
    			)/*此处一定不要写引号,因为不是字符串*/
    			// 2.渲染虚拟DOM到页面
    			ReactDOM.render(VDOM,document.getElementById('test'))
    			//          渲染虚拟目标 ,  容器
    </script> 
    

可见,在创建多层标签嵌套关系时,很明显,jsx要比js方便很多且高效很多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值