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

图书翻页的动画 做网站启动用dw网页设计心得体会

图书翻页的动画 做网站启动用,dw网页设计心得体会,峨眉网站建设,wordpress视频幻灯片在React中处理用户交互事件(如点击、输入、提交等)的方式与原生JavaScript类似,但有一些语法差异和最佳实践。以下是常见交互事件的处理方法及代码示例: 一、基本事件处理(点击、输入等) 1. 点击事件&…

在React中处理用户交互事件(如点击、输入、提交等)的方式与原生JavaScript类似,但有一些语法差异和最佳实践。以下是常见交互事件的处理方法及代码示例:

一、基本事件处理(点击、输入等)

1. 点击事件(onClick)
import React, { useState } from 'react';const ButtonExample = () => {const [count, setCount] = useState(0);// 事件处理函数const handleClick = () => {setCount(count + 1);};return (<button onClick={handleClick}>  {/* 绑定事件 */}Click me: {count}</button>);
};
2. 输入事件(onChange)
const InputExample = () => {const [text, setText] = useState('');const handleChange = (event) => {setText(event.target.value);  // 获取输入值};return (<inputtype="text"value={text}  // 受控组件onChange={handleChange}/>);
};
3. 表单提交(onSubmit)
const FormExample = () => {const [name, setName] = useState('');const handleSubmit = (event) => {event.preventDefault();  // 阻止默认提交行为console.log('Submitted:', name);};return (<form onSubmit={handleSubmit}><inputtype="text"value={name}onChange={(e) => setName(e.target.value)}/><button type="submit">Submit</button></form>);
};

二、传递参数给事件处理函数

方法1:使用箭头函数
const ListItem = ({ id, text }) => {const handleDelete = () => {console.log('Deleting item:', id);// 调用父组件的删除函数};return (<li>{text}<button onClick={() => handleDelete(id)}>  {/* 传递参数 */}Delete</button></li>);
};
方法2:使用bind
<button onClick={handleDelete.bind(this, id)}>Delete
</button>

三、事件委托(处理多个子元素)

当需要处理多个相似元素的事件时,推荐使用事件委托:

const ColorSelector = () => {const [selectedColor, setSelectedColor] = useState('');const handleColorClick = (color) => {setSelectedColor(color);};const colors = ['red', 'green', 'blue'];return (<div><p>Selected: {selectedColor}</p>{colors.map(color => (<buttonkey={color}style={{ background: color }}onClick={() => handleColorClick(color)}  {/* 统一处理 */}>{color}</button>))}</div>);
};

四、高级事件处理

1. 键盘事件(onKeyDown)
const KeyPressExample = () => {const handleKeyDown = (event) => {if (event.key === 'Enter') {console.log('Enter key pressed!');}};return (<inputtype="text"onKeyDown={handleKeyDown}/>);
};
2. 自定义事件组件

创建可复用的事件处理组件:

// CustomButton.js
const CustomButton = ({ onClick, children }) => {return (<buttonclassName="custom-button"onClick={onClick}  {/* 暴露事件接口 */}>{children}</button>);
};// 使用自定义按钮
const App = () => {const handleClick = () => {console.log('Custom button clicked!');};return (<CustomButton onClick={handleClick}>Click me</CustomButton>);
};

五、注意事项

  1. 事件名称使用驼峰命名

    • HTML:onclick → React:onClick
    • HTML:onchange → React:onChange
  2. 避免直接修改DOM
    不要使用 document.getElementById(),而是通过状态管理更新UI。

  3. 受控组件 vs 非受控组件

    • 受控组件:值由React管理(如上面的输入框示例)
    • 非受控组件:使用 ref 获取DOM值(适用于文件上传等场景)
// 非受控组件示例
const FileInput = () => {const fileInput = useRef(null);const handleSubmit = (event) => {event.preventDefault();console.log('File:', fileInput.current.files[0]);};return (<form onSubmit={handleSubmit}><input type="file" ref={fileInput} /><button type="submit">Submit</button></form>);
};
http://www.dtcms.com/a/412196.html

相关文章:

  • 拆解爆款内容的三维切片:从0到1直接套用
  • OpenAI 实现额外传参
  • 概念详解:单分支开发VS多分支开发
  • 先做网站后备案吗建设网站哪家便宜
  • 男女性做那个视频网站微信小程序广告投放价格表
  • 重庆网站建设公司哪个最好城乡住房规划建设局网站
  • 【android bluetooth 协议分析 18】【PBAP详解 1】【为何我们的通话记录中会出现1-521-8xx-1x9x】
  • linux平台下nginx的新手教程
  • 电商设计的工作内容大连自动seo
  • 什么是MCP协议,其在AI大模型系统中的作用是什么?
  • 铜陵app网站做营销招聘信息wordpress里的发消息给我
  • 制作一个买股票的网站怎么做国家备案网查询
  • 郑州网站建设工作网站开发成本都有哪几项
  • 北京大学php培训网站源码(dedewordpress投稿功能
  • 小型公司建网站烟台网站建设力荐企汇互联见效付款
  • 平台中如何一键安装、更新EDA工具
  • 百度网站 v怎么怎做福州app制作公司
  • BIKE算法:NIST后量子标准化第四轮入选者,虽未被标准化,但推动了密码学的边界
  • 数据结构——基本查找算法
  • 互联网视频云平台EasyDSS赋能在线教育创新与变革
  • 邹城住房城乡建设部网站网页设计模板html代码个人介绍
  • 35 岁后肌肤暗沉与细纹改善:BKY(莱德因)美国进口 EGT+AKG+SOD 王炸御龄组合的作用机制与应用价值​
  • 长沙做网站开发价格群晖 wordpress 中文
  • Ubuntu20.04复现ReKep论文详细指南,记录自用
  • 金鹏建设集团网站团员建设网站
  • 兰州新区建设局网站免费网络推广网址
  • h5网站系统wordpress导入数据库
  • postman 自动设置token
  • 杭州建平台网站公司网站建设教程asp
  • 【读书笔记】架构整洁之道 P5-2 软件架构