سلام دوست عزیز
شما باید یک state به صورت public ایجاد کنید و وقتی روی button کلیک شد ، اطلاعات به صورت dispatch به سمت state بره.
آخرین بار تابستان پارسال باهاش کار کردم و الان منبع دقیق ندارم اما جستجو کنی کلید وازه های react-redux و state رو احتمالا به راه حل برسی.
@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))
بله به جای useState نوشتم useEffect
const [changeUE,setChangeUseEffect] = useState(false)
الان درست شد
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟