ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Hello React

2021-12-12 22:35:13  阅读:162  来源: 互联网

标签:DOM 创建 JavaScript React 虚拟 JSX Hello


React

React起源于Facebook内部项目,一开始用于假设instageam,在2012年5月开源,它是一个用于构建用户界面的JavaScript库,React拥有较高的性能,代码逻辑简单,所以越来越多的人开始关注和使用它。

React特点:

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

  2. 高效:React通过对DOM的模拟,最大限度的减少了与真实DOM的交互。

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

  4. JSX:JSX是一种JavaScript扩展语法。

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

虚拟DOM

浏览器在初始化时会载入一个HTML文档,当页面内容需要改变时,JavaScript会根据用户操作来创建或者删除节点或者是插入新元素,这让JavaScrpit管理DOM变得非常复杂而效率又低,这意味着开发人员要认真的了解如何修改UI的细节来优化程序。从编码角度来看,先将特定的元素清空然后重新构建他们,比保留原有的元素然后研究怎么跟新他们更容易一些。React提出了虚拟DOM的概念,采用虚拟DOM之后,我们将不需要直接与DOM API直接交互,而是使用一组指令,让React和浏览器交互。虚拟DOM实际是javaScript对象,直接访问javaScript对象比直接与DOM交互效率高的多。

Hello React

使用React很简单,只需要在页面中引入React的依赖:

//ReactUI库,用来创建视图
<script src="https://unpkg.com/react@17/umd/react.production.min.js" crossorigin></script>
//ReactDOM库,用于在浏览其中渲染UI
<script src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js" crossorigin></script>
//支持JSX语法
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>

现在然我们来创建第一个React页面:

  1. 在页面中加入依赖

  2. <script>中添加Type=text/babel使其支持JSX语法

  3. 在HTML中准备一个容器,用于将我们用React创建的虚拟DOM添加进去

  4. 创建一个虚拟DOM,将虚拟DOM放入容器中

在HTML中创建一个容器:这个稍后我们将会将虚拟DOM装入div中

<div id="text"></div>

在JavaScript中添加以下代码:

<script type="text/babel">
    //JSX
    const element = <h1>Hello,world!</h1>
    ReactDOM.render(
        element,
        document.querySelector("#text")
    );
</script>

 

于是我们便可以在网页中看到效果:

<h1>Hello,world!</h1>就是JSX语法,JSX具有JavaScript的全部功能,它用于创建一个虚拟的DOM元素,然后使用ReactDOM.render()将这些元素渲染为DOM。

标签:DOM,创建,JavaScript,React,虚拟,JSX,Hello
来源: https://blog.csdn.net/m0_55721894/article/details/121894699

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有