当前位置: 首页 > article >正文

初试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、创建项目结构

  1. 创建工作目录:选择一个合适的位置创建我们的工作目录。
  2. 进入工作目录:通过命令行进入该目录。
  3. 切换回官方npm registry:执行命令 npm config set registry https://registry.npmjs.org 以确保我们使用的是官方的npm仓库。
  4. 创建React项目:通过命令 npx create-react-app user-login 创建一个新的React项目。这个过程可能需要一些时间,需要耐心等待。

3、启动项目

  1. 进入项目目录:通过命令 cd user-login 进入项目目录。
  2. 启动项目:使用命令 npm start 启动项目。现在,我们可以在浏览器中查看项目首页了。

4、编写React组件

  • 我们将通过修改 App.js 文件来编写我们的第一个React组件。这个组件将实现一个简单的用户登录界面。

    1. 引入React和useState:首先,我们需要从React库中引入React和useState。
    2. 定义状态:使用useState定义用户名、密码和错误信息的状态。
    3. 处理提交:创建一个handleSubmit函数来处理表单提交,验证用户名和密码。
    4. 渲染组件:在返回的JSX中,我们将创建一个用户登录表单,并根据状态显示相应的信息。

5、添加React样式

  • 为了使我们的登录界面更加美观,我们将修改 App.css 文件来添加一些样式。

    1. 全局样式:设置全局字体、背景颜色和布局。
    2. App样式:为App组件添加样式,包括对齐方式、最大宽度和内边距。
    3. 表单样式:为表单和表单元素添加样式,包括布局、背景颜色、边框和阴影。

6、运行项目,查看效果

  • 最后,我们将再次运行项目,通过 npm start 命令,然后在浏览器中查看效果。

    • 非空校验:尝试不输入任何信息直接登录,观察结果。
    • 登录判断:尝试使用正确的用户名和密码登录,以及错误的用户名或密码登录,观察结果。

四、实战小结

  • 通过今天的实战,我们初步了解了React框架的基本使用方法。从创建项目到编写组件,再到添加样式,每一步都是构建React应用的关键。希望大家能够通过这次实战,对React有更深入的理解。

http://www.kler.cn/news/328840.html

相关文章:

  • GPU在深度学习中的应用与未来发展
  • Eureka注册中心如何实现集群
  • 第 30 章 XML
  • 使用DolphinScheduler调度实现sqoop增量导入时遇到 Caused by:Class QueryResult not found 错误解决
  • C语言 编译和链接
  • 深入解析 https
  • 在树莓派上部署开源监控系统 ZoneMinder
  • html+css+js实现step进度条效果
  • E36.C语言模拟试卷1第一大题选题解析与提示(未完)
  • 通过ts declare包装一个js库
  • 408知识点自检
  • 安全开发指南
  • 彻底连接pip工具
  • 前端框架对比和选择指南
  • 1panel申请https/ssl证书自动续期
  • WPF入门教学二十三 自定义控件开发
  • 若依从redis中获取用户列表
  • 408算法题leetcode--第21天
  • Java每日面试题(JVM)(day15)
  • sentinel微服务部署
  • vue3+PPTXjs 在线ppt预览
  • 基于单片机多功能称重系统设计
  • C++ | Leetcode C++题解之第451题根据字符出现频率排序
  • YOLO11改进|注意力机制篇|引入MLCA轻量级注意力机制
  • Azure Kinect 人体跟踪关节
  • RUP:用例驱动、以架构为中心的迭代增量开发模式
  • 松山湖全球首秀:传祺华为概念车发布
  • 【场景题】秒杀系统设计以及解决方案
  • 如何理解线性回归中的w和b
  • Tableau数据可视化入门