初试React前端框架
文章目录
- 一、React概述
- 二、React核心特性
- 1、组件化设计
- 2、虚拟DOM
- 3、生态系统
- 三、实例操作
- 1、准备工作
- 2、创建项目结构
- 3、启动项目
- 4、编写React组件
- 5、添加React样式
- 6、运行项目,查看效果
- 四、实战小结
一、React概述
- 大家好,今天我们将一起探索React这一强大的前端框架。React是由Facebook维护的一个开源JavaScript库,广泛用于构建用户界面,尤其擅长开发单页应用程序和复杂的Web应用的UI层。
二、React核心特性
1、组件化设计
- React允许我们将UI拆分为独立的、可重用的组件,每个组件负责自己的渲染逻辑和状态管理。
2、虚拟DOM
- React使用虚拟DOM技术来优化性能,减少与实际DOM的交互次数,从而提高应用的响应速度。
3、生态系统
- React拥有丰富的生态系统,支持服务器端渲染和静态网站生成,适用于各种规模的应用开发。
三、实例操作
1、准备工作
-
首先,我们需要确保安装了Node.js和npm
-
我们将通过以下命令来检查它们的版本
node -v:查看Node版本npm -v:查看npm版本
2、创建项目结构
- 创建工作目录:选择一个合适的位置创建我们的工作目录。
- 进入工作目录:通过命令行进入该目录。
- 切换回官方npm registry:执行命令
npm config set registry https://registry.npmjs.org以确保我们使用的是官方的npm仓库。 - 创建React项目:通过命令
npx create-react-app user-login创建一个新的React项目。这个过程可能需要一些时间,需要耐心等待。
3、启动项目
- 进入项目目录:通过命令
cd user-login进入项目目录。 - 启动项目:使用命令
npm start启动项目。现在,我们可以在浏览器中查看项目首页了。
4、编写React组件
-
我们将通过修改
App.js文件来编写我们的第一个React组件。这个组件将实现一个简单的用户登录界面。- 引入React和useState:首先,我们需要从React库中引入React和useState。
- 定义状态:使用useState定义用户名、密码和错误信息的状态。
- 处理提交:创建一个
handleSubmit函数来处理表单提交,验证用户名和密码。 - 渲染组件:在返回的JSX中,我们将创建一个用户登录表单,并根据状态显示相应的信息。
5、添加React样式
-
为了使我们的登录界面更加美观,我们将修改
App.css文件来添加一些样式。- 全局样式:设置全局字体、背景颜色和布局。
- App样式:为App组件添加样式,包括对齐方式、最大宽度和内边距。
- 表单样式:为表单和表单元素添加样式,包括布局、背景颜色、边框和阴影。
6、运行项目,查看效果
-
最后,我们将再次运行项目,通过
npm start命令,然后在浏览器中查看效果。- 非空校验:尝试不输入任何信息直接登录,观察结果。
- 登录判断:尝试使用正确的用户名和密码登录,以及错误的用户名或密码登录,观察结果。
四、实战小结
- 通过今天的实战,我们初步了解了React框架的基本使用方法。从创建项目到编写组件,再到添加样式,每一步都是构建React应用的关键。希望大家能够通过这次实战,对React有更深入的理解。
相关文章:
初试React前端框架
文章目录 一、React概述二、React核心特性1、组件化设计2、虚拟DOM3、生态系统 三、实例操作1、准备工作2、创建项目结构3、启动项目4、编写React组件5、添加React样式6、运行项目,查看效果 四、实战小结 一、React概述 大家好,今天我们将一起探索React…...
华为OD机试真题---手机App防沉迷系统
题目概述 智能手机在方便我们生活的同时,也侵占了大量时间。手机App防沉迷系统旨在帮助用户合理规划手机App使用时间,确保在正确的时间做正确的事。系统的主要功能包括: 在一天24小时内,可注册每个App的允许使用时段。一个时段只…...
物流货运托运发货单二联三联打印软件定制 佳易王物流单管理系统操作教程
一、前言 物流货运托运发货单二联三联打印软件定制 佳易王物流单管理系统操作教程 1、软件为绿色免安装版,解压即可使用,已经内置数据库,不需再安装。 2、软件下载可以到本文章最后点击官网卡片下。 二、软件程序教程 1、如图,…...
代码随想录算法训练营| 找树左下角的值 、 路径总和 、 从中序与后序遍历序列构造二叉树
找树左下角的值 题目 参考文章 思路:这里寻找最左下角的值,其实用前中后序都是可以的,只要保证第一遍历的是左边开始就可以。设置Deep记录遍历的最大深度,deep记录当前深度。当遇到叶子节点时而且当前深度比最大深度还大则更换最…...
【开源免费】基于SpringBoot+Vue.JS服装销售平台(JAVA毕业设计)
博主说明:本文项目编号 T 054 ,文末自助获取源码 \color{red}{T054,文末自助获取源码} T054,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…...
人工智能与自然语言处理发展史
前言 在科技的浪潮中,人工智能 (AI) 作为一股不可阻挡的力量,持续推动着社会与科技的进步。本博客旨在深入剖析人工智能及其核心领域——神经网络、自然语言处理、统计语言模型、以及大规模语言模型——的演进历程,以专业的视角展现这一领域…...
0基础跟德姆(dom)一起学AI 机器学习01-机器学习概述
【知道】人工智能 - Artificial Intelligence 人工智能 - AI is the field that studies the synthesis and analysis of computational agents that act intelligently - AI is to use computers to analog and instead of human brain - 释义 - 仿智; 像人…...
yakit使用教程(一,下载并进行基础配置)
一,yakit简介 YAKIT(Yet Another Knife for IT Security)是一款网络安全单兵工具,专为个人渗透测试员和安全研究人员设计。它整合了一系列实用的安全工具,例如密码破解工具、网络扫描器、漏洞利用工具等,帮…...
计算机毕业设计电影票购买网站 在线选票选座 场次订票统计 新闻留言搜索/springboot/javaWEB/J2EE/MYSQL数据库/vue前后分离小程序
系统功能 在线选票选座:用户可浏览电影场次,选择座位并生成订单。场次订票统计:系统实时统计各场次订票情况,便于影院管理。新闻发布与留言:发布最新电影资讯,用户可留言互动。搜索功能&a…...
DES、3DES 算法及其应用与安全性分析
一、引言 1.1 研究背景 在当今数字化时代,信息安全至关重要。对称加密算法作为信息安全领域的重要组成部分,发挥着关键作用。DES(Data Encryption Standard)作为早期的对称加密算法,由美国国家标准局于 1977 年采纳为数据加密标准。随着计算机运算能力的不断增强,DES 算…...
TypeScript介绍和安装
TypeScript介绍 TypeScript是由微软开发的一种编程语言,它在JavaScript的基础上增加了静态类型检查。静态类型允许开发者在编写代码时指定变量和函数的类型,这样可以在编译时捕获潜在的错误,而不是等到运行时才发现问题。比如,你…...
NetworkPolicy访问控制
NetworkPolicy是Kubernetes中一种用于控制Pod之间以及Pod与外部网络之间流量的资源对象。它可以帮助你在 IP 地址或端口层面(OSI 第 3 层或第 4 层)控制网络流量。NetworkPolicy 资源使用标签选择 Pod,并定义选定 Pod 所允许的通信规则。它可…...
C++面向对象基础
目录 一.作用域限定符 1.名字空间 2.类内声明,类外定义 二.this指针 1 概念 2.功能 2.1 类内调用成员 2.2 区分重名的成员变量和局部变量 2.3链式调用 三.stastic关键字 1.静态局部变量 2 静态成员变量 3 静态成员函数 4 单例设计模式(了解…...
遥感图像变换检测实践上手(TensorRT+UNet)
目录 简介 分析PyTorch示例 onnx模型转engine 编写TensorRT推理代码 main.cpp测试代码 小结 简介 这里通过TensorRTUNet,在Linux下实现对遥感图像的变化检测,示例如下: 可以先拉去代码:RemoteChangeDetection 分析PyTorch示…...
Transformers 引擎,vLLM 引擎,Llama.cpp 引擎,SGLang 引擎,MLX 引擎
1. Transformers 引擎 开发者:Hugging Face主要功能:Transformers 库提供了对多种预训练语言模型的支持,包括 BERT、GPT、T5 等。用户可以轻松加载模型进行微调或推理。特性: 多任务支持:支持文本生成、文本分类、问答…...
牛顿迭代法求解x 的平方根
牛顿迭代法是一种可以用来快速求解函数零点的方法。 为了叙述方便,我们用 C C C表示待求出平方根的那个整数。显然, C C C的平方根就是函数 f ( x ) x c − C f(x)x^c-C f(x)xc−C 的零点。 牛顿迭代法的本质是借助泰勒级数,从初始值开始快…...
端口隔离配置的实验
端口隔离配置是一种网络安全技术,用于在网络设备中实现不同端口之间的流量隔离和控制。以下是对端口隔离配置的详细解析: 基本概念:端口隔离技术允许用户将不同的端口加入到隔离组中,从而实现这些端口之间的二层数据隔离。这种技…...
洛谷 P10456 The Pilots Brothers‘ refrigerator
[Problem Discription] \color{blue}{\texttt{[Problem Discription]}} [Problem Discription] 给定一个 4 4 4 \times 4 44 的网格,每个网格有 0 , 1 0,1 0,1 两种状态。求最少可以通过多少次操作使得整个网格全部变成 1 1 1。 每次操作你需要选定一个格点 …...
windows+vscode+arm-gcc+openocd+daplink开发arm单片机程序
windowsvscodearm-gccopenocddaplink开发arm单片机程序,脱离keil。目前发现的最佳解决方案是,使用vscodeembedded ide插件。 Embedded IDE官方教程文档...
Mysql梳理10——使用SQL99实现7中JOIN操作
10 使用SQL99实现7中JOIN操作 10.1 使用SQL99实现7中JOIN操作 本案例的数据库文件分享: 通过百度网盘分享的文件:atguigudb.sql 链接:https://pan.baidu.com/s/1iEAJIl0ne3Y07kHd8diMag?pwd2233 提取码:2233 # 正中图 SEL…...
手把手教你用ChatGPT-Next-Web(NextChat)免费搭建个人AI助手网站(附Docker部署)
零代码实战:用ChatGPT-Next-Web快速搭建专属AI对话平台 在AI技术平民化的浪潮中,拥有一个私人定制的智能对话平台不再是大公司的专利。ChatGPT-Next-Web(原名NextChat)作为GitHub上最受欢迎的AI界面开源项目之一,让普…...
从TKMath到STL导出:一份OCCTProxy for .NET的模块化封装实战笔记
从TKMath到STL导出:OCCTProxy for .NET的模块化封装实战 在工业软件开发的深水区,几何内核的封装从来都不是简单的语法转换。当我们需要将OpenCASCADE这样的庞然大物引入.NET生态时,C/CLI就像一座精心设计的悬索桥,既要承受原生代…...
BlackArch Linux 完全指南:渗透测试专家的终极武器库
BlackArch Linux 完全指南:渗透测试专家的终极武器库 【免费下载链接】blackarch An ArchLinux based distribution for penetration testers and security researchers. 项目地址: https://gitcode.com/gh_mirrors/bl/blackarch BlackArch Linux 是基于 Arc…...
WebRTC信令交换实战:从Socket.io到RTCPeerConnection的完整流程解析
1. WebRTC信令交换的核心逻辑 第一次接触WebRTC时,我被它"点对点直接通信"的特性吸引,但很快发现真正的难点在于如何让两个设备找到彼此——这就是信令交换要解决的问题。信令交换就像两个陌生人交换电话号码的过程,只不过这里交换…...
从‘Hello World’到物联网:用Hi3861点灯程序,带你理解鸿蒙轻量级设备开发的核心流程
从‘Hello World’到物联网:用Hi3861点灯程序,带你理解鸿蒙轻量级设备开发的核心流程 在物联网设备开发领域,鸿蒙系统(OpenHarmony)正以其轻量级、高并发的特性吸引着越来越多的开发者。对于初学者而言,一个…...
从零开始:用STM32CubeMX+Keil5开发计算器的5个关键陷阱与解决方案
从零开始:用STM32CubeMXKeil5开发计算器的5个关键陷阱与解决方案 当你第一次尝试用STM32CubeMX和Keil5开发一个计算器时,可能会觉得这不过是几个简单数学运算的组合。但真正动手后,你会发现从工具链配置到算法实现,处处都是"…...
Qwen-Image-Edit-2509场景应用:品牌VI统一与多语言海报智能修改
Qwen-Image-Edit-2509场景应用:品牌VI统一与多语言海报智能修改 1. 品牌视觉管理的痛点与机遇 全球500强企业的设计总监们每年要面对一个共同难题:如何确保分布在50个国家的分公司,在制作本地化营销素材时,都能严格遵守总部制定…...
OpenClaw技能组合:GLM-4.7-Flash多功能集成方案
OpenClaw技能组合:GLM-4.7-Flash多功能集成方案 1. 为什么需要技能组合? 去年冬天,我接手了一个内容运营的兼职项目,需要每周整理行业动态、生成分析报告并发布到三个不同平台。最初我尝试手动操作,但很快发现这种重…...
TypeScript——模块解析
模块解析1、相对模块导入2、非相对模块导入3、模块解析策略4、模块解析策略之Classic4.1、解析相对模块导入4.2、解析非相对模块导入5、模块解析策略之Node5.1、解析相对模块导入5.2、解析非相对模块导入6、--baseUrl6.1、设置--baseUrl6.2、解析--baseUrl7、paths7.1、设置pat…...
i.MX6ULL开发板无线SSH环境搭建指南
嵌入式开发板远程登录环境搭建指南1. 项目概述本技术文档详细记录了在基于i.MX6ULL处理器的嵌入式Linux开发板上搭建完整远程登录环境的实现方案。该方案包含三个核心组件:WiFi网络驱动移植、无线网络配置工具移植以及SSH服务部署。2. 硬件环境搭建2.1 WiFi模块选型…...
