京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

React hooks怎样清除定时器并验证效果

2024-11-2 22:34| 发布者: db4d5a85| 查看: 63| 评论: 0

摘要: 目录React hooks清除定时器并验证效果目录结构useTime hookClock.tsx使用useTime hookApp.tsx表现Clock组件表现时间(开启定时器)隐蔽时间(清除定时器)总结React hooks清除定时器并验证效果 目录结构 如下所示:
目录

React hooks清除定时器并验证效果

目录结构

如下所示:

useTime hook

[code]// src/hooks/common.ts import { useEffect, useState } from "react"; export function useTime() { const [time, setTime] = useState<Date>(() => new Date()) useEffect(() => { const id: NodeJS.Timer = setInterval(() => { setTime(new Date()) }, 1000) return () => { console.log('组件烧毁清除定时器'); clearInterval(id) } }, []) console.log('返回时间') return time }[/code]

Clock.tsx使用useTime hook

[code]// src/test/Clock.tsx import React from 'react'; import { useTime } from '@/hooks/common'; function Clock() { const time = useTime() return ( <h1>{time.toLocaleTimeString()}</h1> ); } export default Clock;[/code]

App.tsx表现Clock组件

[code]// src/App.tsx import React, { useState } from 'react'; import Clock from './test/Clock' import './App.css'; function App() { const [show, setShow] = useState<boolean>(true) return ( <div className="App"> <button onClick={() => setShow(!show)}>{show ? '隐蔽' : '表现'}</button> {show && <Clock />} </div> ); } export default App;[/code]

表现时间(开启定时器)

隐蔽时间(清除定时器)

总结

React hook启用定时器后,在组件烧毁时清除定时器

以上为个人履历,盼望能给大家一个参考,也盼望大家多多支持脚本之家。

参考:


来源:https://www.jb51.net/javascript/328615rj4.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-2 09:26 , Processed in 0.029862 second(s), 18 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部