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

React hooks如何清除定時(shí)器并驗(yàn)證效果

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

React hooks清除定時(shí)器并驗(yàn)證效果

目錄結(jié)構(gòu)

如下所示:

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('組件銷毀清除定時(shí)器');
            clearInterval(id)
        }
    }, [])
    console.log('返回時(shí)間')
    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;

顯示時(shí)間(開啟定時(shí)器)

隱藏時(shí)間(清除定時(shí)器)

總結(jié)

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

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

參考:

相關(guān)文章

最新評(píng)論

濮阳县| 连平县| 吉安县| 霍州市| 莒南县| 涟水县| 渑池县| 宁晋县| 繁昌县| 惠东县| 太保市| 界首市| 寿光市| 老河口市| 侯马市| 海淀区| 读书| 泗洪县| 襄汾县| 清水县| 澎湖县| 上蔡县| 锡林浩特市| 谢通门县| 农安县| 曲松县| 贡嘎县| 黔西县| 江阴市| 治多县| 东乌珠穆沁旗| 游戏| 湟源县| 广汉市| 海淀区| 昌邑市| 乃东县| 鄱阳县| 贺州市| 桃园市| 沿河|