React之基础项目搭建

news2024/11/25 22:31:51

前言

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.coloradmin.cn/o/1578758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【机器学习300问】62、若想将逻辑回归用于多分类有哪些常见做法?

逻辑回归算法在设计之初是用于二分类问题的,但若想把它用在多分类上也不是不行,这得看你具体面临的多分类问题是什么样的(问题的定义)。不同的问题就有不同的应对之策: 一、一对一 (1)方法的原…

【JavaEE】_Spring MVC项目获取Header

目录 1. 使用Servlet原生方法获取Header 2. 使用Spring注解获取Header 1. 使用Servlet原生方法获取Header .java文件内容如下: package com.example.demo.controller;import com.example.demo.Person; import org.springframework.web.bind.annotation.*; impor…

Linux-等待子进程

参考资料:《Linux环境编程:从应用到内核》 僵尸进程 进程退出时会进行内核清理,基本就是释放进程所有的资源,这些资源包括内存资源、文件资源、信号量资源、共享内存资源,或者引用计数减一,或者彻底释放。…

14届蓝桥杯 C/C++ B组 T5 接龙排序 (最长上升子序列DP+优化)

不难发现这是一个LIS问题&#xff0c;但是如果直接套用LIS的模版&#xff0c;在数据范围到达 1 e 5 1e5 1e5 的情况下&#xff0c;就只能够得到一半的分数&#xff0c;所以我们需要对其进行优化。 首先给出暴力的代码&#xff1a; #include<iostream> using namespace…

python+django教师业绩考评考核评分系统flask

在设计过程中&#xff0c;将参照一下国内外的一些同类网站&#xff0c;借鉴下他们的一些布局框架&#xff0c;将课题要求的基本功能合理地组织起来&#xff0c;形成友好、高效的交互过程。开发的具体步骤为&#xff1a;   第一步&#xff0c;进行系统的可行性分析&#xff0c…

Java 基于微信小程序的校园请教小程序的研究与实现,附源码

博主介绍&#xff1a;✌程序员徐师兄、10年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447…

基于单片机手机屏蔽器系统仿真设计

**单片机设计介绍&#xff0c;基于单片机手机屏蔽器系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机手机屏蔽器系统的仿真设计主要涉及到手机信号屏蔽的原理、单片机控制逻辑设计、仿真软件的选择与使用以…

2024北京安全生产展|劳保用品展|安全生产防护用品展会

​作为安全生产与防护用品领域的行业盛会&#xff0c;2024北京安全生产与防护用品展览会将于2024年6月26日至28日在北京.首钢国际会展中心隆重举行。展会紧跟安全生产与防护用品行业发展&#xff0c;充分调研行业需求&#xff0c;以前瞻性的技术研讨、产品展示、产学研对接、需…

VSCode输入花括号{}}会多一个解决方案

打开设置 搜索Closing Brackets 选择BeforeWhitespace 选完后重启下VSCode即可

rust学习(tokio中tcp_stream调用的问题)

问题&#xff1a; 我们涉及了一个socket连接的类&#xff0c;每次收到数据以后&#xff0c;我们都会把tokio::net::TcpStream对应的tcp_stream传递给其他线程。 起初设计如下&#xff1a; pub struct TarNetStream {stream:TcpStream, //1... }pub trait TarListener {fn on…

【C++】类和对象①(什么是面向对象 | 类的定义 | 类的访问限定符及封装 | 类的作用域和实例化 | 类对象的存储方式 | this指针)

目录 前言 什么是面向对象&#xff1f; 类的定义 类的访问限定符及封装 访问限定符 封装 类的作用域 类的实例化 类对象的存储方式 this指针 结语 前言 最早的C版本&#xff08;C with classes&#xff09;中&#xff0c;最先加上的就是类的机制&#xff0c;它构成…

【大数据】大数据概论与Hadoop

目录 1.大数据概述 1.1.大数据的概念 1.2.大数据的应用场景 1.3.大数据的关键技术 1.4.大数据的计算模式 1.5.大数据和云计算的关系 1.6.物联网 2.Hadoop 2.1.核心架构 2.2.版本演进 2.3.生态圈的全量结构 1.大数据概述 1.1.大数据的概念 大数据即字面意思&#x…

tensorflow.js 如何使用opencv.js通过面部特征点估算脸部姿态并绘制示意图

文章目录 前言一、实现步骤1. 获取所需特征点的索引2. 使用opencv.js 计算俯仰角、水平角和翻滚角cv.solvePnP介绍cv.solvePnP原理运行代码查看效果 3.绘制姿态示意直线添加canvas元素计算姿态直线坐标并绘制 总结 前言 在计算机视觉领域&#xff0c;估算脸部姿态是一项具有挑…

基于大数据的汽车信息可视化分析预测与推荐系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 本项目通过集成网络爬虫技术&#xff0c;实时获取海量汽车数据&#xff1b;运用先进的ARIMA时序建模算法对数据进行深度挖掘和分析&#xff1b;结合flask web系统和echarts可视化工具&#xff0c;…

vue做游戏vue游戏引擎vue小游戏开发

Vue.js 是一个构建用户界面的渐进式JavaScript框架&#xff0c;它同样可以用于游戏开发。使用 Vue 开发游戏通常涉及以下几个关键步骤和概念&#xff1a; 1. 了解 Vue 的核心概念 1 在开始使用 Vue 进行游戏开发之前&#xff0c;你需要理解 Vue 的一些核心概念&#xff0c;如…

Python可视化之seaborn

文章目录 seaborn介绍1.解决坐标轴刻度负号乱码2. 解决中文乱码问题3. 忽略警告4.风格选择5.自定义坐标轴6.自定义绘图元素比例7.一元分布图8.二元分布图9.多元矩阵图10.其他常见图形散点图线图柱状图计数图 seaborn介绍 seaborn是在matplotlib基础上开发的一套API&#xff0c…

网络驱动器设备:ISCSI服务器

文章目录 使用ISCSI服务部署网络存储ISCSI技术介绍创建RAID磁盘整列配置ISCSI服务端配置Windows端配置Linux客户端iSCSI服务器CHAP单向认证配置Linux端具体步骤Windows端具体步骤 使用ISCSI服务部署网络存储 主机名IPISCSI服务端192.168.200.10ISCSI客户端192.168.200.20Windo…

Ubuntu22.04修改默认窗口系统为X11

Ubuntu22.04安装默认窗口系统为Wayland&#xff08;通过设置->关于可以看到&#xff09;。 一、用Ubuntu on Xorg会话登录 用户登录时&#xff0c;点“未列出”&#xff0c;输入用户名后&#xff0c;在登录界面底部的齿轮图标中&#xff0c;选择 "Ubuntu on Xorg&quo…

Stable Diffusion——SDXL Turbo让 AI 出图速度提高10倍

摘要 在本研究中&#xff0c;我们提出了一种名为对抗扩散蒸馏&#xff08;ADD&#xff09;的创新训练技术&#xff0c;它能够在1至4步的采样过程中&#xff0c;高效地对大规模基础图像扩散模型进行处理&#xff0c;同时保持图像的高质量。该方法巧妙地结合了分数蒸馏技术&…

用TensorBoard可视化PyTorch

一、TensorBoard与PyTorch配合使用的基本步骤 PyTorch可以直接与TensorBoard进行集成&#xff0c;因为TensorBoard是一个独立于TensorFlow之外的可视化工具。TensorBoard被设计为支持机器学习实验的可视化&#xff0c;如训练的进度和结果等。PyTorch中的torch.utils.tensorboa…