أحاول كتابة دالة تقوم بعمل إجراء معين بعد عدة ثواني عند الضغط على زر محدد
وهناك زر آخر الغرض منه إيقاف هذا الإجراء إذا تم الضغط عليه قبل انتهاء الوقت المحدد في setTimeout
ولكن الإجراء يتم سواء ضغطت على زر الإيقاف أم لم أضغط
ولا أعرف ما لخطأ في الكود
هذا هو الكود
const confirmAction =()=>{// هذه الدالة تبدأ العمل عندما يتم الضغط على زر محدد
setShowActionMessage(true);const timeout = setTimeout(()=>{if(!stopAction){
setAction(true);
doTheAction();// هذه الدالة المستهدفة من هذه العملية}},5000);if(stopAction){// عند الضغط على زر الإيقاف true هذه الحالة تصبح
clearTimeout(timeout);}};
كما ترون أنا أستعمل الريآكت وأستخدم ال useState و if condition للوصول للنتيجة المرغوبة
ولكن للأسف الدالة المستهدفة لا يتم إيقافها ولا أعرف لماذا وهي تتفعل بعد انتهاء الـ 5 ثواني
السؤال
فينيكس العربي
أحاول كتابة دالة تقوم بعمل إجراء معين بعد عدة ثواني عند الضغط على زر محدد
وهناك زر آخر الغرض منه إيقاف هذا الإجراء إذا تم الضغط عليه قبل انتهاء الوقت المحدد في setTimeout
ولكن الإجراء يتم سواء ضغطت على زر الإيقاف أم لم أضغط
ولا أعرف ما لخطأ في الكود
هذا هو الكود
كما ترون أنا أستعمل الريآكت وأستخدم ال useState و if condition للوصول للنتيجة المرغوبة
تم التعديل في بواسطة فينيكس العربيولكن للأسف الدالة المستهدفة لا يتم إيقافها ولا أعرف لماذا وهي تتفعل بعد انتهاء الـ 5 ثواني
خطأ إملائي
8 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.