最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React hooks如何清除定時器并驗證效果

 更新時間:2024年10月11日 16:41:43   作者:harmsworth2016  
在React中,通過自定義Hook useTimeHook實現(xiàn)定時器的啟動與清除,在App組件中使用Clock組件展示當前時間,利用useEffect鉤子在組件掛載時啟動定時器,同時確保組件卸載時清除定時器,避免內存泄露,這種方式簡化了狀態(tài)管理和副作用的處理

React hooks清除定時器并驗證效果

目錄結構

如下所示:

useTime hook

// 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
}

Clock.tsx使用useTime hook

// 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;

App.tsx顯示Clock組件

// 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;

顯示時間(開啟定時器)

隱藏時間(清除定時器)

總結

React hook啟用定時器后,在組件銷毀時清除定時器

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

參考:

相關文章

最新評論

年辖:市辖区| 开原市| 武汉市| 蒲江县| 建瓯市| 西藏| 罗定市| 青神县| 普宁市| 胶南市| 凌云县| 曲水县| 宜昌市| 开封市| 莲花县| 东宁县| 台北市| 芦山县| 菏泽市| 土默特右旗| 兴文县| 珠海市| 龙江县| 仲巴县| 巫溪县| 陈巴尔虎旗| 扬中市| 敦煌市| 揭西县| 广西| 上犹县| 莎车县| 嘉兴市| 敦煌市| 宜昌市| 搜索| 延津县| 泽库县| 本溪市| 清远市| 南宫市|