当前位置: 首页 > 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 (<div className="login-container"><h2>Login</h2><div>停留时间:{time}秒</div><form onSubmit={handleSubmit}><div><label>Email:</label><input type="email" value={email} onChange={(e) => setEmail(e.target.value)} required/></div><div><label>Password:</label><input type="password" value={password} onChange={(e) => setPassword(e.target.value)} required/></div>{error && <div className="error">{error}</div>}<button type="submit">Login</button></form></div>)
};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 (<div className="App"><Login /></div>)
}export default App;

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

http://www.dtcms.com/a/397907.html

相关文章:

  • Playwright MCP 服务器对比高层级的 MCP 服务器解决方案
  • app下载网站模板wordpress将公网ip改为域名
  • 个人做网站如何推广安全优化大师
  • jupyter notebook用简易python代码跑本地模型
  • Android 安卓RIL介绍
  • 开源 java android app 开发(十五)绘图定义控件--仪表盘
  • Android如何自动弹出软键盘?
  • Linux Shell 脚本:从零到进阶的实战笔记
  • MR 一体机市场报告:2031全球规模突破 1.98亿美元,中国 40.8% 市占率成核心增长极
  • 网站管理员权限权重高的网站有哪些
  • 【Spark+Hive+hadoop】基于spark+hadoop基于大数据的全球用水量数据可视化分析系统大数据毕设
  • 07.【Linux系统编程】进程控制(进程创建fork、进程终止exit等、进程等待waitwaitpid、进程替换execl等)
  • 百度Qianfan-VL系列上线:推出3B/8B/70B三款视觉理解模型,覆盖不同算力需求
  • 基于 Python Keras 实现 猫狗图像的精准分类
  • 点云-标注-分类-航线规划软件 (一)点云自动分类
  • 挑战用R语言硬干一百万单细胞数据分析
  • 如何自己弄个免费网站wordpress前端登陆
  • npm install 时包库找不到报错解决
  • 【开题答辩实录分享】以《城市网约车服务预约与管理小程序的设计与实现》为例进行答辩实录分享
  • 网站建设软件哪个最好wordpress转发插件
  • C#异步协同常用例子
  • Flutter 中使用 Color 的最优方案
  • 一半都有哪些做影视外包的网站怎么做网站的签约编辑
  • Qt QEventLoop的使用的一个问题讨论
  • 保定网站seo技术wordpress主题左目录
  • net网站开发做手工简笔上海手机网站建设
  • 做地图的网站湖北专业网站建设市面价
  • 拜师做网站网站短链接生成
  • 用狐狸做logo的网站虾皮跨境电商注册多少钱
  • 东莞化工网站建设网站的思维导图怎么做