热门标签 | 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} ,则显示以下输出。


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 从零学Java(10)之方法详解,喷打野你真的没我6!
    本文介绍了从零学Java系列中的第10篇文章,详解了Java中的方法。同时讨论了打野过程中喷打野的影响,以及金色打野刀对经济的增加和线上队友经济的影响。指出喷打野会导致线上经济的消减和影响队伍的团结。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
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社区 版权所有