当前位置:首页 > React

react如何监听

2026-03-30 16:47:10React

监听事件的基本方法

在React中,监听事件通常通过组件的onClickonChange等内置事件属性实现。例如,监听按钮点击事件:

<button onClick={() => console.log('按钮被点击')}>点击</button>

自定义事件监听

对于非原生DOM事件(如自定义事件或全局事件),可以使用addEventListenerremoveEventListener

import { useEffect } from 'react';

function Component() {
  useEffect(() => {
    const handleEvent = () => console.log('事件触发');
    window.addEventListener('customEvent', handleEvent);
    return () => window.removeEventListener('customEvent', handleEvent);
  }, []);
  return <div>监听自定义事件</div>;
}

监听状态变化

通过useEffect监听React状态(state)或属性(props)的变化:

react如何监听

const [count, setCount] = useState(0);

useEffect(() => {
  console.log('count变化:', count);
}, [count]);

监听路由变化

使用React Router时,可通过useLocationuseEffect监听路由变化:

import { useLocation } from 'react-router-dom';

function App() {
  const location = useLocation();
  useEffect(() => {
    console.log('路由变化:', location.pathname);
  }, [location]);
}

监听键盘事件

监听全局键盘事件需在useEffect中绑定:

react如何监听

useEffect(() => {
  const handleKeyPress = (e) => console.log('按键:', e.key);
  document.addEventListener('keydown', handleKeyPress);
  return () => document.removeEventListener('keydown', handleKeyPress);
}, []);

监听滚动事件

通过useEffect监听页面滚动:

useEffect(() => {
  const handleScroll = () => console.log('滚动位置:', window.scrollY);
  window.addEventListener('scroll', handleScroll);
  return () => window.removeEventListener('scroll', handleScroll);
}, []);

监听子组件事件

通过父组件传递回调函数(props)监听子组件事件:

function Child({ onAction }) {
  return <button onClick={onAction}>触发事件</button>;
}

function Parent() {
  const handleAction = () => console.log('子组件事件触发');
  return <Child onAction={handleAction} />;
}

标签: react
分享给朋友:

相关文章

react性能如何

react性能如何

React 性能特点 React 通过虚拟 DOM(Virtual DOM)和高效的 diff 算法优化性能。虚拟 DOM 减少了直接操作真实 DOM 的开销,仅在必要时更新变化的部分。React 的…

react如何浮动

react如何浮动

使用 CSS 实现浮动 在 React 中实现浮动效果可以通过 CSS 的 float 属性完成。在组件的样式文件或内联样式中直接设置 float: left 或 float: right。 /…

如何启动react

如何启动react

安装Node.js 确保系统已安装Node.js(建议使用LTS版本),可通过官网下载并安装。安装完成后,在终端运行以下命令验证版本: node -v npm -v 创建React项目 使用官方工具…

react如何通信

react如何通信

React 组件通信方式 React 组件间的通信方式多样,具体选择取决于组件关系和场景需求。以下是常见方法: 父子组件通信 父组件通过 props 向子组件传递数据,子组件通过回调函数通知父组件…

react 如何操作cookie

react 如何操作cookie

安装依赖 在React项目中操作cookie通常需要第三方库的支持,推荐使用js-cookie。通过npm或yarn安装: npm install js-cookie # 或 yarn add js…

react 如何修改state

react 如何修改state

修改 state 的基础方法 在 React 中,state 的修改必须通过 setState 方法(类组件)或 state 更新函数(函数组件)。直接修改 state 会导致组件不会重新渲染,且可能…