实用指南:React简单例子

news/2025/10/9 8:40:36/文章来源:https://www.cnblogs.com/wzzkaifa/p/19130407

1、设置React项目

如果你还没有一个React项目,你可以使用Create React App来创建一个。

2、在你的React项目中,新建一个新的组件文件,比如Login.jsx,并编写以下代码:

import React, {useState, useEffect} from 'react';
import '../Styles/Login.css'; //使用css来美化界面
const Login = () => {
const [email, setEmail] = useState('') //使用状态来保存邮箱、密码、错误信息等值
const [password, setPassword] = useState('')
const [error, setError] = useState('')
const [time, setTime] = useState(0)
//增加一个effect,返回函数在组件销毁时执行
useEffect(() => {
const interval = setInterval(() => {
setTime(a=>a+1)
}, 1000)
return () => {
clearInterval(interval)
}
}, [])
const handleSubmit = (e) => {
e.preventDefault()
console.log('email:', email);
console.log('Password:', password);
setError('Invalid credentials');
setEmail('')
setPassword('')
};
return (
Login
停留时间:{time}秒
Email:setEmail(e.target.value)} required/>
Password:setPassword(e.target.value)} required/>
{error && {error}}
)
};
export default Login;

Login.css

.login-container {
max-width: 400px;
margin: 50px auto; /* 增加顶部和底部的边距以提升居中效果 */
padding: 30px; /* 增加内边距以使内容更加宽松 */
border: 1px solid #ccc;
border-radius: 15px; /* 增加圆角半径以使边框更加柔和 */
box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); /* 增加阴影的模糊半径以使阴影更加自然 */
background-color: #f9f9f9; /* 添加背景颜色以区分界面 */
}
.login-container h2 {
text-align: center;
margin-bottom: 30px; /* 增加与表单元素的距离 */
color: #333; /* 设置标题颜色 */
font-family: Arial, sans-serif; /* 设置字体 */
}
.login-container div {
margin-bottom: 20px; /* 适当调整间距 */
}
.login-container label {
display: block;
margin-bottom: 10px;
color: #555; /* 设置标签颜色 */
}
.login-container input {
width: 100%;
padding: 10px;
box-sizing: border-box;
border: 1px solid #ccc;
border-radius: 5px;
transition: border-color 0.3s; /* 添加过渡效果 */
}
.login-container input:focus {
border-color: #007bff; /* 聚焦时改变边框颜色以提升用户体验 */
}
.login-container button {
width: 100%;
padding: 12px;
background-color: #28a745;
color: white;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 16px; /* 增大按钮字体 */
transition: background-color 0.3s; /* 添加过渡效果 */
}
.login-container button:hover {
background-color: #218838;
}
.error {
color: red;
text-align: center;
margin-top: 20px; /* 适当调整间距 */
font-size: 14px; /* 设置错误提示的字体大小 */
}

3、现在,你需要在你的应用中渲染这个登录组件。通常你会在App.js中做这件事:

import React from 'react'
import Login from './Pages/Login.jsx'
import './App.css' //全局样式
function App() {
return (
)
}
export default App;

4、确保你的开发服务器正在运行(npm start),然后在浏览器里访问页面。

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

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

相关文章

The 4th Universal Cup

1本文来自博客园,作者:蒟蒻orz,转载请注明原文链接:https://www.cnblogs.com/orzz/p/19130408

建设网站还要云服务器吗营销网站制作哪家有名

🍑个人主页:Jupiter. 🚀 所属专栏:MySQL初阶探索:构建数据库基础 欢迎大家点赞收藏评论😊 目录 📚mysql的安装📕MySQL的登录🌏MySQL配置免密码登录 📚mysql的…

深圳做网站j华信科wordpress全局阴影

关于node.js和npm 和nvm Node 是一个服务器端 JavaScript 解释器,Node 本身运行 V8 JavaScript。V8 JavaScript 引擎是 Google 用于其 Chrome 浏览器的底层 JavaScript 引擎。 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题&am…

哈尔滨企业展示型网站建设wordpress js 统计

为了能够重用已有的C语言库,我们在使用Golang开发项目或系统的时候难免会遇到Go和C语言混合编程,这时很多人都会选择使用cgo。 话说cgo这个东西可算得上是让人又爱又恨,好处在于它可以让你快速重用已有的C语言库,无需再用Golang重…

dwcc如何做网站成都网站设计公司官网

vuex:五大核心概念 一、state状态1.state的含义2.如何访问以及使用仓库的数据(1)通过store直接访问获取store对象 (2)通过辅助函数MapState 二、mutations1.作用2.严格模式3.操作流程定义 mutations 对象,对象中存放修…

想找个人建网站做网站架构需要注意什么

BIOS是什么?BIOS是英文"Basic Input Output System"的缩写,翻译成中文名称就是"基本输入输出系统"。BIOS是个人电脑启动时加载的第一个软件,是连接电脑硬件和软件的枢纽,有多重要就不言而喻了吧!B…

有难度哦/Qt基于通用地图组件实现航迹规划和模拟/动态标注轨迹线/带序号和方向箭头指示

一、前言说明 1、功能概述 航迹规划功能允许用户在地图上通过单击操作逐个添加航线途经点,系统自动生成带有方向指示的连续航迹线,并支持对航线进行动态编辑。主要功能包括:支持在地图上单击添加标注点,点位按添加…

广东建设网 工程信息网站国内最大的网站建设公司

1. Interface概念 System Verilog中引入了接口定义,接口与module 等价的定义,是要在其他的接口、module中直接定义,不能写在块语句中,跟class是不同的。接口是将一组线捆绑起来,可以将接口传递给module。 2. 接口的优…

建设监督网站首页自己在线制作logo免费圆形

SQLAlchemy 是 Python 中一款非常流行的数据库工具包,它对底层的数据库操作提供了高层次的抽象。在本篇文章中,我们将介绍 SQLAlchemy 的两个主要组成部分:SQL 工具包 (SQL Toolkit) 和对象关系映射器 (Object-Relational Mapper, ORM) 的基本…

【GitHub每日速递 251009】AI时代必备!Stagehand浏览器自动化框架解锁高效新玩法

原文:https://mp.weixin.qq.com/s/gbezGRvVAHdkf87-rY4nig Stremio:一站式视频娱乐神器,解锁自由观影新体验! stremio-web 是一个提供自由流媒体播放功能的网页应用。简单讲,它是一个能让你在线观看各种影视内容的…

iOS应用商店遭遇首次大规模恶意软件攻击

苹果iOS应用商店遭遇首次大规模恶意软件攻击,数百款应用被植入XcodeGhost恶意代码,包括微信、滴滴打车等知名应用,安全公司发现344款受感染应用,苹果已开始清理受污染程序。iOS应用商店数百款应用包含恶意软件 来源…

重庆网站开发服务wordpress主题文件夹在哪里设置

来源:popsci编译: 网易智能 (乐邦)近年来有关飞行汽车、超级高铁、喷气背包、无人驾驶汽车等新型交通工具的报道一直不绝于耳,但目前这些领域的产品似乎都还算不上真正切实可行。说好的移动出行未来在哪里呢?人们梦寐以求的这些交…

vue3使用ts传参教程

在Vue 3中使用TypeScript进行组件间传参是开发中常见的需求,它能提供类型安全和更好的开发体验。以下是Vue 3 + TypeScript组件传参的详细教程: 1. 父组件向子组件传参(Props) 子组件定义Props类型 使用defineProp…

Linux 特殊权限位详解:SetUID, SetGID, Sticky Bit - 实践

Linux 特殊权限位详解:SetUID, SetGID, Sticky Bit - 实践2025-10-09 08:11 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

pt-table-checksum 原理解析

pt-table-checksum 原理解析在 MySQL 主从复制架构中,“数据一致性” 是业务可靠性的底线,但原生复制仅保证 binlog 的传输与执行,无法规避网络中断、SQL 错误、从库延迟等导致的数据偏差。而 Percona Toolkit 中的…

给别人做网站在那里接单wordpress自定义文章顺序

在机器学习中,模型的表现很大程度上取决于我们如何平衡“过拟合”和“欠拟合”。本文通过理论介绍和代码演示,详细解析过拟合与欠拟合现象,并提出应对策略。主要内容如下: 什么是过拟合和欠拟合? 如何防止过拟合和欠拟…

vue搭建点击按钮input保持聚焦状态

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

如何做自助网站网站报备

产品描述 AP5179是一款连续电感电流导通模式的降压恒流源,用于驱动一颗或多颗串联LED输入电压范围从 5 V 到 60V,输出电流 可达 2.0A 。根据不同的输入电压和 外部器件, 可以驱动高达数十瓦的 LED。 内置功率开关,采用高端电流采样…

带数据库的网站做wordpres做视频网站

想知道你的网站每天的访问情况吗?有多少人访问了?访问最多的页面是哪个?哪个时段访问的人最多?哪个地方访问的最多?每秒有多少请求?很好奇吧,只要你是使用了nginx进行请求抓发,那么就…

解密prompt系列61. 手搓代码沙箱与FastAPI-MCP实战

前两章我们讨论了JupyterAgent,当时用的是E2B的代码沙箱。这次我决定自己动手,用字节的TRAE从头构建一个Python代码沙箱,并加入MCP支持。完整代码已经开源在github.com/DSXiangLi/simple_sandbox最近Vibe Code在各种…