热门标签 | 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编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 解决微信电脑版无法刷朋友圈问题:使用安卓远程投屏方案
    在工作期间想要浏览微信和朋友圈却不太方便?虽然微信电脑版目前不支持直接刷朋友圈,但通过远程投屏技术,可以轻松实现在电脑上操作安卓设备的功能。 ... [详细]
  • 本文深入探讨了 Java 编程语言的基础,特别是其跨平台特性和 JVM 的工作原理。通过介绍 Java 的发展历史和生态系统,帮助初学者理解如何编写并运行第一个 Java 程序。 ... [详细]
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社区 版权所有