热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ReactJS有哪些特点?

ReactJS有哪些特点?原文:https://www.g

ReactJS 有哪些特点?

原文:https://www . geeksforgeeks . org/reactjs 的特性是什么/

React 是一个由脸书创建的 Javascript 库,用于创建动态和交互式应用程序,并为网络和移动应用程序构建更好的 UI/UX 设计。React 是一个开源的、基于组件的前端库。React 负责 UI 设计。React 通过将代码划分为组件,使代码更容易调试。

反应的特点:



  • JSX (Javascript 语法扩展)

  • 虚拟 DOM

  • 单向数据绑定

  • 表演

  • 扩展ˌ扩张

  • 条件语句

  • 成分

  • 简单

让我们详细了解它们。

1。JSX(Javascript 语法扩展):JSX 是 HTML 和 Javascript 的结合体。您可以在 HTML 元素中嵌入 Javascript 对象。浏览器不支持 JSX,因此巴贝尔编译 r 将代码转换成 Javascript 代码。JSX 让代码变得简单易懂。如果你知道 HTML 和 Javascript,那就很容易学会了。

const name="GeekforGeeks";
const ele =

Welcome to {name}

;

2。 虚拟 DOM: DOM 代表文档对象模型。它是网络最重要的部分,因为它分成模块并执行代码。通常,Javascript 框架会一次更新整个 DOM,这使得网络应用程序运行缓慢。但是 react 使用的是虚拟 DOM,它是真实 DOM 的精确副本。每当 web 应用程序发生修改时,首先会更新整个虚拟 DOM,并找出真实 DOM 和虚拟 DOM 的区别。一旦它发现了差异,那么 DOM 只更新最近发生变化的部分,一切都保持不变。

在上图中,当整个虚拟 DOM 更新后,子组件发生了变化。所以,现在 DOM 找到了区别,只更新了改变的部分。

3。单向数据绑定:单向数据绑定,名字本身就说是单向流。react 中的数据仅沿一个方向流动,即数据从上到下传输,即从父组件传输到子组件。子组件中的属性(道具)不能将数据返回到其父组件,但它可以与父组件通信,根据提供的输入修改状态。这就是单向数据绑定的工作过程。这使得一切模块化和快速。

单向数据绑定

如上图所示,数据只能从上到下流动。

4。 性能:正如我们之前讨论的,react 使用虚拟 DOM,只更新修改过的部分。所以,这使得 DOM 运行得更快。DOM 在内存中执行,所以我们可以创建单独的组件,这使得 DOM 运行得更快。

5。扩展: React 有很多扩展,我们可以用它们来创建成熟的 UI 应用程序。它支持移动应用程序开发,并提供服务器端渲染。React 用 Flux、Redux、React Native 等扩展。这有助于我们创建好看的 UI。

6。条件语句: JSX 允许我们写条件语句。浏览器中的数据根据 JSX 内部提供的条件显示。

语法:

const age = 12;
if (age >= 10)
{

Greater than { age }

;
}
else
{

{ age }

;
}

7。组件: React.js 将网页分为多个组件,因为它是基于组件的。每个组件都是用户界面设计的一部分,它有自己的逻辑和设计,如下图所示。因此,用 Javascript 编写的组件逻辑使它变得容易,运行速度更快,并且可以重用。

多个组件

8。简单性: React.js 是基于组件的,使得代码可重用,React.js 使用了 HTML 和 Javascript 相结合的 JSX。这使得代码易于理解和调试,并且代码更少。

让我们通过创建一个应用程序来看看 react.js 是如何工作的。

按照以下步骤创建 react 应用程序:

步骤 1: 使用以下命令创建一个 react 应用程序:

npx create-react-app foldername

步骤 2: 将您的目录更改为新创建的文件夹。

cd foldername

项目结构:项目结构创建如下:

步骤 3: 现在在 src 文件夹中创建新文件为 PassMessage.js ,并添加以下代码。

java 描述语言

import React from 'react'
import App from './App';
function PassMessage() {
    return ( 
        


             

              {
                textAlign: 'center',
                color: 'green'
              }
            }> Congratulations!!!You passed the test.

  
        

    )
}
export default PassMessage

步骤 4: 现在在 src 文件夹中创建另一个文件作为 FailMessage.js ,并添加以下代码。

java 描述语言

import React from 'react'
import App from './App'
function FailMessage() {
    return ( 
        


            

            { textAlign: 'center', 
            color: 'green' } 
            }> You failed the test.Better luck next time..!!

 
        

    )
}
export default FailMessage

第五步:现在在 App.js. 中添加以下代码

java 描述语言

import PassMessage from './PassMessage';
import FailMessage from './FailMessage';
function App(props) {
    const isPass = props.isPass;
        if (isPass) {
            return ;
        }
    return ;
};
export default App;

第六步:index.js 中添加以下代码。

java 描述语言

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import FailMessage from './FailMessage';
import PassMessage from './PassMessage';
ReactDOM.render(
              document.getElementById('root'));

运行应用程序的步骤:打开终端,键入以下命令。

npm 启动


输出:

如果您在 index.js 中给出 isPass={true} 的值,那么它将给出以下输出:

如果 index.js的值为 isPass={false} ,则显示以下输出。


推荐阅读
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • React基础篇一 - JSX语法扩展与使用
    本文介绍了React基础篇一中的JSX语法扩展与使用。JSX是一种JavaScript的语法扩展,用于描述React中的用户界面。文章详细介绍了在JSX中使用表达式的方法,并给出了一个示例代码。最后,提到了JSX在编译后会被转化为普通的JavaScript对象。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 本文介绍了如何使用elementui分页组件进行分页功能的改写,只需一行代码即可调用。通过封装分页组件,避免在每个页面都写跳转请求的重复代码。详细的代码示例和使用方法在正文中给出。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 先看看ElementUI里关于el-table的template数据结构:<template><el-table:datatableData><e ... [详细]
author-avatar
倔强的石头二虎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有