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

实用指南:React简单例子

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.gsyq.cn/news/17491.html

相关文章:

  • The 4th Universal Cup
  • 有难度哦/Qt基于通用地图组件实现航迹规划和模拟/动态标注轨迹线/带序号和方向箭头指示
  • iOS应用商店遭遇首次大规模恶意软件攻击
  • 解密prompt系列61. 手搓代码沙箱与FastAPI-MCP实战
  • 使用sqlite-loadable-rs开发一个简单sqlite uuid 扩展
  • 2025学校家具定制厂家/书包柜厂家推荐榜:专业设计与安全品质首选
  • 读技术之外:社会联结中的人工智能04数据
  • 生成式AI与计算教育融合研究
  • 课程作业
  • 国庆七日赛训总结
  • 总资料汇总关联化站点形式的尝试(未完成)
  • 算法第一次作业
  • C++_高阶
  • Kubernetes技术详解-从理论到实践-(5)-控制器-Deployment - 详解
  • 动态张量运算自动优化技术解析
  • 国庆做题记录(含有一些trick)
  • 详细介绍:https和http有什么区别-http各个版本有什么区别
  • Easysearch 字段隐身之谜:source_reuse 与 ignore_above 的陷阱解析
  • 晶台光耦在手机PD快充上的应用 - 实践
  • bat批处理脚本文件-获取当前时间的几种方法
  • RL | 速读 IJCAI 2025 的强化学习论文
  • PHP+MySQL开发语言 在线下单订水送水小脚本源码及搭建指南
  • Sliding Window Algorithm
  • 国庆模拟赛总结
  • 深入解析:video-audio-extractor:视频转换为音频
  • 10.8 CSP-JS 模拟赛 T4. discover
  • 网课二
  • 学生管理系统面向对象问题分析
  • dns 委派
  • 计算机视觉的现状与未来挑战