راکت

چگونه در برای useStateاز clearIntervalاستفاده کرد

2 پاسخ

کد تایمر

سلام دوستان من قصد دارم یه تایمر طراحی کنم که دکمه توقف وازسرگیری داشته باشه طرفند من این بوده که یک useStateبنویسم وبا استفاده ازsetIntervaleکه درون یه useEffectهست دکمه توقف ایجاد کنه تایمر بخوبی کار میکنه اما وقتی setIntervaleرا طراحی میکنم ارور میده من کمی در ری اکنت تازه کارم وهنوز بعضی از مباحث اون رو درک نکردم اگه امکان داره به من بگید کدوم مبحث رو بخوبی درک نکردم و ایراد کارم کجاست

ثبت پرسش جدید

پاسخ‌ها

2
فرشید
فرشید
@farshid

تخصص: Developer

سلام
امیدوارم این درست باشه

import { useState } from 'react';

export const useTimer = () => {
    const [seconds, setSec] = useState(0);
    let timer;

    const start = () => {
        clearInterval(timer);
        setSec(0);
        timer = setInterval(() => {
            setSec((prev) => prev + 1);
        }, 1000);
    };

    const stop = () => {
        clearInterval(timer);
        setSec(0);
    };

    const pause = () => {
        clearInterval(timer);
    };

    const resume = () => {
        timer = setInterval(() => {
            setSec((prev) => prev + 1);
        }, 1000);
    };

    return {
        seconds,
        stop,
        resume,
        start,
        pause,
    };
};
progromer
progromer
@pwyazyzzadhbna

@farshid
ممنون دوست عزیز

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام