构建现代Web应用:使用React框架打造单页面应用

news/2025/11/2 15:04:52/文章来源:https://www.cnblogs.com/gwerwr811111/p/19184985

1. React简介

React是一个用于构建用户界面的JavaScript库,由Facebook开发并维护。React的设计理念是将复杂的UI分解成独立的组件,这样可以更方便地管理和复用代码。此外,React还通过虚拟DOM技术提高了应用的性能。

2. 创建React应用

要开始一个新的React项目,首先需要安装Create React App工具。这是一个官方提供的脚手架工具,可以简化创建新项目的步骤。

安装Node.js

确保你的计算机上已经安装了Node.js。如果没有安装,可以从官网下载最新版本。

创建新项目

打开命令行工具,运行以下命令来创建新的React应用:

npx create-react-app my-app
cd my-app
npm start

这将创建一个名为my-app的新目录,并在里面初始化一个React应用。启动应用后,浏览器会自动打开一个展示“Hello, world!”的页面。

3. 编写组件

React应用的核心是由许多小的、可复用的组件组成的。每个组件负责渲染屏幕上的一个小部分。让我们来看一个简单的React组件例子:

import React from 'react';function Welcome(props) {return <h1>Hello, {props.name}</h1>;
}export default Welcome;
 
 

在这个例子中,Welcome组件接受一个名为name的属性,并在屏幕上显示一条问候消息。

4. 状态管理与生命周期

React组件可以拥有自己的状态,并且可以根据状态的变化来更新UI。组件的生命周期也非常重要,它定义了组件从创建到销毁的各个阶段。

class Clock extends React.Component {constructor(props) {super(props);this.state = { date: new Date() };}componentDidMount() {this.timerID = setInterval(() => this.tick(),1000);}componentWillUnmount() {clearInterval(this.timerID);}tick() {this.setState({date: new Date()});}render() {return (<div>It is {this.state.date.toLocaleTimeString()}.</div>);}
}

这个例子展示了如何在一个类组件中使用状态来更新UI,并在适当的生命周期钩子中执行副作用操作。

5. 路由与导航

在SPA中,通常需要使用路由来管理不同的视图。React Router是一个流行的路由库,它可以让开发者根据URL路径来切换不同页面。

import { BrowserRouter as Router, Route, Link } from "react-router-dom";function App() {return (<Router><div><nav><ul><li><Link to="/">Home</Link></li><li><Link to="/about">About</Link></li><li><Link to="/users">Users</Link></li></ul></nav><Route path="/" exact component={Home} /><Route path="/about" component={About} /><Route path="/users" component={Users} /></div></Router>);
}

在这个例子中,我们设置了一个基本的导航菜单,并为每个链接指定了对应的组件。

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

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

相关文章

基于有限体积法(FVM)的MATLAB流体力学求解程序

一、基础框架代码(二维稳态不可压缩流动) %% 初始化参数 Lx = 0.1; Ly = 0.01; % 计算域尺寸 Nx = 50; Ny = 20; % 网格数 dx = Lx/Nx; dy = Ly/Ny;% 物理参数 rho = 1.2; mu = 1.8e-5; nu = mu/rho; % 空气物性 …

证明:割空间以及环空间的直和为边空间当且仅当图的生成树个数为偶数

一个线性代数的证明。命题:对于连通图 \(G=(V,E)\),记其割空间为 \(A\),环空间为 \(B\),边空间为 \(E\),则 \(A\oplus B=E\) 当且仅当图 \(G\) 的生成树个数为奇数。 证明: 由于 \(\dim A+\dim B=\dim E\),所以…

langgraph-reflexion

langgraph-reflexion https://github.com/fanqingsong/langgraph-reflexion/tree/main Implementation of a sophisticated Reflexion agent using LangGraph and LangChain, designed to generate high-quality respo…

WC 2026 备战记录

CSP 2025 炸了,意识到 CTT 再炸就没有 WC 玩了,很生气! 记录了日常训练中的一些题。 目录

面向院区病房的空间智能体新范式:下一代病房框架研究(上)

面向院区病房的空间智能体新范式:下一代病房框架研究(上)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

JSR 303 常用注解及示例

JSR 303 常用注解及示例JSR 303 常用注解及示例 ✅ JSR 303 常用注解及示例注解 作用 示例@NotNull 值不能为 null @NotNull(message = "ID不能为空")@NotBlank 字符串不能为空(非 null 且去除空格后长度 &…

实用指南:用 Go 并发优化用户中心 API:goroutine 和 errgroup 的实战魔法

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

MySQL02 函数

MySQL02 函数函数 字符串函数调用方式:SELECT F(x) 或和其他语法结合使用 update user set id = lpad(id,4,0);一般来说都是更新,先选中表,再对对象调用函数,用等于号连接。 数值函数 CEIL(X)//向上取整 FLOOR(X)/…

夸克网盘免费领取1TB空间的方法

一、活动时间 2025年01月01日 ~ 2026年12月31日 二、面向用户 夸克 App 新用户,即在手机端和 PC 端从未使用手机号注册过夸克账号的用户只安装过夸克客户端但从未注册夸克账号的用户,也可获得本次新用户活动奖励; …

前端三剑客——javascript函数作用域与内置函数

大纲 :1.js代码执行流程2.函数的声明与匿名函数自执行:普通函数/匿名函数及其自执行普通函数/匿名函数/箭头函数/2者区别3.var和let区别与函数作用域:var和let作用域区别匿名函数/箭头函数this指向4.内置函数js代码执…

完全背包内外循环是否能对调?

结论:完全背包内外层循环不可以对调之前一直认为完全背包内外层循环可以互相对调,可能也是由于某一些题目数据的巧合吧,现在碰到一道题目帮我纠正了 题目 纠正 内外层循环对调,无非就是先物品后容积,还有就是先容…

浅谈ASP.NET Core中间件实现分布式 Session

浅谈ASP.NET Core中间件实现分布式 Session浅谈ASP.NET Core中间件实现分布式 Session 1.1. 中间件原理 1.1.1. 什么是中间件 中间件是段代码用于处理请求和响应,通常多个中间件链接起来形成管道,由每个中间件自己来…

.NET周刊【10月第3期 2025-10-19】

国内文章 史诗级警报:ASP.NET Core 被曝 CVSS 9.9 分漏洞,几乎所有.NET 版本无一幸免! https://www.cnblogs.com/netry/p/19147223/CVE-2025-55315 2025 年 10 月的微软补丁星期二更新中,ASP.NET Core 漏洞 CVE-20…

2025 年 11 月快速卷帘门厂家最新推荐,聚焦高端定制需求与全案交付能力!

当前快速卷帘门应用场景日益多元,高端定制需求与全案交付能力成为采购关键。据行业权威门窗协会 2025 年 10 月调研显示,近 42% 的采购方因厂家定制能力不足,导致产品与场景适配偏差,额外改造成本增加 30%;而交付…

【大模型应用开发】之调用大模型

调用大模型 大模型接口规范 大模型接口说明大模型开发是通过访问模型对外暴露的API接口,实现与大模型的交互。 大多数大模型都遵循OpenAI接口规范,是基于Http协议的接口。因此请求路径、参数和返回值信息都是类似的。…

11/2

找第k小的数的分治算法描述:先选最右元素作基准,partition 函数将数组分区,小于等于基准的放左,大于的放右,返回基准位置 p。find 函数递归:若 p 左元素数 c 等于 k,返回 a [p];k 小于 c 则在左分区找 k;否则…

2025 年 11 月快速卷帘门厂家最新推荐,技术实力与市场口碑深度解析!

快速卷帘门行业的技术迭代与市场反馈,是采购决策的关键依据。据行业权威门窗协会 2025 年 10 月发布的调研数据,技术落后导致的产品淘汰率达 32%,而市场口碑差的品牌客户复购率不足 20%。为精准筛选优质厂家,本次联…

2025 年 11 月快速卷帘门厂家最新推荐,实力品牌深度解析采购无忧之选!

快速卷帘门采购过程中,品牌实力不足、服务缺失往往导致采购风险,据行业权威门窗协会 2025 年 10 月数据显示,近 38% 的采购方因选择非实力品牌,遭遇交货延迟、售后缺位等问题,额外成本增加 25%。为助力采购无忧,…