progromer
3 سال پیش توسط progromer مطرح شد
6 پاسخ

فعال سازی مجددuseEffectدرreact

سلام دوستان چطور میشه کدی نوشت که با کلیک رو یه buttonمحتویات داخلuseEffectدوباره اجرا بشه?


ثبت پرسش جدید
محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 3 سال پیش مطرح شد
0

سلام دوست عزیز
شما باید یک state به صورت public ایجاد کنید و وقتی روی button کلیک شد ، اطلاعات به صورت dispatch به سمت state بره.
آخرین بار تابستان پارسال باهاش کار کردم و الان منبع دقیق ندارم اما جستجو کنی کلید وازه های react-redux و state رو احتمالا به راه حل برسی.


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 3 سال پیش مطرح شد
progromer
@pwyazyzzadhbna 3 سال پیش مطرح شد
0

@msdabbagh
من می خوام از setInterval استفاده کنم درstateریداکس ازsetIntervalاستفاده نمیشه کرد


Parastoo Ebrahimi
تخصص : front-end developer
@parastooebrahimi 3 سال پیش آپدیت شد
2

توی useEffect باید یه پارامتر بهش بدیم که هر موقع آپدیت بشه هر فانکشنی که میخوایم دوباره اجرا بشه. برای این کار اول یه استیت دیفاین کنید که بولین باشه.

 const [changeUE,setChangeUseEffect] = useEffect(false)

توی مرحله بعد با هر بار کلیک روی باتن باید مقدار اون رو تغییر بدیم. یعنی اگر false هست true و بالعکس.

    return (
        <React.Fragment>
          <button className="btn btn-primart" onClick={()=>setChangeUseEffect(!changeUE)}>Do It Again</button>
        </React.Fragment>
    )

و در مرحله آخر این استیت رو توی useEffect تارگت قرار میدید تا با هر بار کلیک یه فانکشنی اجرا بشه. مثلا من لاگ گرفتم.
اگر میخواید چند بار تکرار بشه در این قسمت از ست اینتروال استفاده کنید

    useEffect(() => {
        console.log("Executed!!")
    }, [changeUE])

progromer
@pwyazyzzadhbna 3 سال پیش آپدیت شد
0

@parastooebrahimi
ممنون اما این بخش از کدتون

 const [changeUE,setChangeUseEffect] = useEffect(false)

ایراد میگره و کار نمیکنه
واین ارور رو میده

TypeError: Object is not iterable (cannot read property Symbol(Symbol.iterator))

Parastoo Ebrahimi
تخصص : front-end developer
@parastooebrahimi 3 سال پیش مطرح شد
0

بله به جای useState نوشتم useEffect

 const [changeUE,setChangeUseEffect] = useState(false)

الان درست شد


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

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