React之基础项目搭建

前言

React的生态系统非常庞大,拥有大量的第三方库和工具,如React Native(用于构建原生移动应用)、Next.js(用于构建服务器渲染应用)、Create React App(用于快速搭建React应用的脚手架)

一.Node环境搭建

参考文章Vue路由与node.js环境搭建-CSDN博客

已经搭建过Node环境的同学可以跳过这步

查看Node版本

node -v

二.React项目搭建

1.脚手架安装

首先,确保你已经安装了Node.js和npm,然后执行以下命令安装脚手架

npm install -g create-react-app

 查看脚手架是否安装完成

create-react-app -v

2.创建React应用

npx create-react-app my-react-app

 当项目名出现大写时..........

创建中.................需要等待2-5分钟左右,因设备而异

当出现Success时表示创建成功

3.项目启动

首先要进入到你的项目中再运行以下命令

例:cd reactyu(我的项目名)

npm start 

npm run start

 出现以下界面说明启动成功

报错解决

小结:没有进入到项目中启动,找不到启动文件,cd 项目名,再运行命令

三. React项目结构及文件说明

1.构建React项目应用基本包(React和Dom包)

npm install react react-dom

2.基本项目结构介绍

  1. README.md 项目的说明文档,通常包含有关项目的简介、安装说明、使用说明等信息。

  2. node_modules/ 存放项目依赖的所有第三方npm包。

  3. package.json 包含项目的元数据和依赖信息,如项目名称、版本号、作者信息、依赖列表等。你也可以在这里定义自定义的脚本命令,如启动开发服务器、构建应用程序等。

  4. public/ 包含静态资源文件,这些文件会直接复制到构建输出目录中。主要包含以下文件:

    • index.html 应用的HTML模板文件,包含一个根元素,React应用将会挂载到这个根元素下。

    • favicon.ico 应用的图标文件。

  5. src/ 包含项目的源代码文件。这是你主要工作的目录。在这里,你会找到以下文件:

    • App.css App组件的样式文件。通常用于定义该组件的样式。

    • App.js 项目的主要组件文件。这是React应用的根组件,通常包含整个应用的结构和逻辑。

    • App.test.js 用于测试App组件的测试文件。

    • index.css 全局的样式文件,会被引入到入口文件中。

    • index.js 应用的入口文件,负责将根组件渲染到DOM中。

    • logo.svg Create React App生成的默认logo图片。

四.小结及推荐

小结

优点:

  1. 组件化开发: React鼓励将用户界面拆分为独立的组件,使得代码更易于理解、维护和复用。

  2. 虚拟DOM: React使用虚拟DOM来提高性能,通过巧妙地比较虚拟DOM树的变化,最小化了对实际DOM的操作,从而提高了页面渲染的效率。

  3. 单向数据流: React采用了单向数据流的思想,简化了数据流动的逻辑,使得应用程序更易于调试和维护。

  4. 声明式设计: React的声明式设计让开发者可以专注于描述界面应该如何呈现,而不必关心底层实现细节,提高了开发效率和代码质量。

  5. 强大的生态系统: React拥有庞大的社区和丰富的生态系统,提供了大量的第三方库和工具,使得开发过程更加高效。

缺点:

  1. 学习曲线: 对于初学者来说,React的学习曲线可能较陡峭,特别是对于理解虚拟DOM、组件生命周期等概念。

  2. 灵活性带来的复杂性: 虽然React的灵活性是其优点之一,但也可能导致开发过程中出现复杂的组件结构和逻辑,增加了代码的复杂性和维护成本。

  3. 状态管理的挑战: 在构建大型应用程序时,有效地管理组件状态可能会成为一个挑战,需要借助状态管理库(如Redux)来解决。

  4. SEO友好性: 虽然React可以通过服务器端渲染(SSR)来提高搜索引擎优化(SEO)的友好性,但相比传统的服务器端渲染框架,它的SEO支持仍然有限。

 总得来说react的难度还是比较大的,对于初学者理解需要花费很多时间,不过React的组件及功能还是非常强大,第三方库和工具都相对比较齐全完善。

学习React推荐

官方中文文档React 官方中文文档 (docschina.org)

Ant Design组件库组件总览 - Ant Design (gitee.io)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/306077.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙内核源码分析 (物理内存篇) | 怎么管理物理内存

如何初始化物理内存? 鸿蒙内核物理内存采用了段页式管理,先看两个主要结构体。结构体的每个成员变量的含义都已经注解出来,请结合源码理解. #define VM_LIST_ORDER_MAX 9 //伙伴算法分组数量,从 2^0,2^1&#…

【网络初识】网络相关概念详解

一.局域网VS广域网 局域网 局域网:Local Area Network~简称LAN.指在某一特定区域内由多台计算机组成的互联网组。局域网内的主机之间能方便的进行网络通信,又称为内网.局域网和局域网之间在没有连接的情况下,是无法通信的。局域网的组建方式: 基于网线…

新规来了!智能音视频技术重塑信贷体验

近日,国家金融监督管理总局发布《固定资产贷款管理办法》《流动资金贷款管理办法》《个人贷款管理办法》(以下简称“三个办法”)。 具体来看,新规明确了以下要求: 1、明确视频面签、电子签约要求 允许商业银行通过视…

【话题】AI技术创业有那些机会,简单探讨下

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 背景机会一、引言二、AI技术的创业机遇1.智能服务行业的兴起2.数据驱动的业务模式创新3.AI与产业融合的创新发展 三、AI技术创业的挑战1.技术门槛高2.法规政策的不确定性…

Java 中文官方教程 2022 版(三十四)

原文:docs.oracle.com/javase/tutorial/reallybigindex.html 长期持久性 原文:docs.oracle.com/javase/tutorial/javabeans/advanced/longpersistence.html 长期持久性是一种模型,可以将 bean 保存为 XML 格式。 有关 XML 格式和如何为非 be…

软件定义网络中的网络流量控制

软件定义网络(SDN)是一种网络范例,它支持一种新的方法来构建网络基础设施,其主要概念是基于集中控制平面和分布式转发平面的分离,其中整个网络及其设备通过使用开放API的软件应用程序进行集中控制和管理。SDN使网络虚拟…

Java高频面试之JVM篇

说一下 Jvm 的主要组成部分?及其作用? 类加载器执行器运行时数据区域本地接口 谈谈对运行时数据区的理解? 堆和栈的区别是什么? 堆中存什么?栈中存什么? 堆总存对象,栈中存局部变量,引用 为什么要把堆…

设计模式系列:单例模式

作者持续关注WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来&#xff01…

一起学习python——基础篇(15)

今天讲一下python的网络请求方法。 如果使用python语言做接口测试,可以安装Requests模块。 安装步骤:打开编程软件,然后点击settings——>Project:System——>Python Interpreter——>加号——>搜索栏里面输入“Requests”——&…

Redis中的集群(一)

集群 概述 Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能 节点 一个Redis集群通常由多个节点(node)组成,在刚开始的时候,每个节点都是相互独立的,它们都…

appium

app元素抓取在线工具 Appium Inspector by Appium Pro appium安装(通过node.js安装) Python3Appium安装使用教程_python_脚本之家 Node version is 18.17.1

[计算机网络] 当输入网址到网页

HTTP 首先,对URL进行解析,URL包含了Web服务器和对应的文件(文件路径) URL是请求服务器中的文件资源 通过Web服务器和对应文件来生产HTTP包(超文本传输协议) DNS 根据域名查询对应的IP地址 域名的层级 根…

代理模式:控制对象访问的智能方式

在面向对象的软件开发中,代理模式是一种结构型设计模式,它为其他对象提供一个代理或占位符以控制对这个对象的访问。代理模式在实现权限控制、延迟初始化和远程对象访问等方面非常有用。本文将详细介绍代理模式的定义、实现、应用场景以及优缺点&#xf…

奎芯科技:智能时代的芯片上游企业如何突破?

半导体IP(Intellectual Property,知识产权),通常也称作IP核(IP core),指芯片设计中预先设计、验证好的功能模块,主要服务于芯片设计,因部分通用功能模块在芯片中被反复使…

鸿蒙南向开发:【智能烟感】

样例简介 智能烟感系统通过实时监测环境中烟雾浓度,当烟雾浓度超标时,及时向用户发出警报。在连接网络后,配合数字管家应用,用户可以远程配置智能烟感系统的报警阈值,远程接收智能烟感系统报警信息。实现对危险及时报…

智慧港口多场景解决方案(二)

港机智能化管理 港机智能化管理解决方案 [功能特点」 专门定制适合港机应用的专业摄像机高性能无线传输系统,高带宽、高抗干扰能力、高频谱利用率高移动性:支持港机移动高清视频的实时传送多业务承载能力:支持视频图像、CMS、告警数据、生产数据等业务的同时接入统一管理平台…

微软卡内基梅隆大学:无外部干预,GPT4等大语言模型难以自主探索

目录 引言:LLMs在强化学习中的探索能力探究 研究背景:LLMs的在情境中学习能力及其重要性 实验设计:多臂老虎机环境中的LLMs探索行为 实验结果概览:LLMs在探索任务中的普遍失败 成功案例分析:Gpt-4在特定配置下的探…

YOLOv8草莓生长状态(灰叶病缺钙需要肥料)检测系统(python开发,带有训练模型,可以重新训练,并有Pyqt5界面可视化)

本次检测系统,不仅可以检测图片、视频或摄像头当中出现的草莓叶子是否有灰叶病,还可以检测出草莓叶是否缺钙、是否需要施肥等状态。基于最新的YOLO-v8训练的草莓生长状态检测模型和完整的python代码以及草莓的训练数据,下载后即可运行&#x…

nvm安装详细教程(安装nvm、node、npm、cnpm、yarn及环境变量配置)

一、安装nvm 1. 下载nvm 点击 网盘下载 进行下载 2、双击下载好的 nvm-1.1.12-setup.zip 文件 3.双击 nvm-setup.exe 开始安装 4. 选择我接受,然后点击next 5.选择nvm安装路径,路径名称不要有空格,然后点击next 6.node.js安装路径&#…

【氮化镓】缓冲层结构对GaN HEMT射频性能的影响

【Effect of different layer structures on the RF performance of GaN HEMT devices】 研究总结: 本研究探讨了不同缓冲层结构对氮化镓高电子迁移率晶体管(GaN HEMT)射频性能的影响。通过对比三种不同缓冲层结构的GaN HEMT设备&#xff0…