سلام دوستان چطور میشه کدی نوشت که با کلیک رو یه buttonمحتویات داخلuseEffectدوباره اجرا بشه?
آموزش ریداکس Redux، به زبون آدمی زاد رو در ویرگول مطالعه کن.
شاید پاسخ شما همینجا باشد
@msdabbagh
من می خوام از setInterval استفاده کنم درstateریداکس ازsetIntervalاستفاده نمیشه کرد
توی 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])@parastooebrahimi
ممنون اما این بخش از کدتون
const [changeUE,setChangeUseEffect] = useEffect(false)
ایراد میگره و کار نمیکنه
واین ارور رو میده
TypeError: Object is not iterable (cannot read property Symbol(Symbol.iterator))