فرهاد
4 سال پیش توسط فرهاد مطرح شد
1 پاسخ

آرایه خالی در useEffect در react

سلام دوستان ، کاربرد آرایه خالی در useEffect چیه و چرا بعضی اوقات یه state در اون قرار میدن

let [state, setState] = useState()

useEffect(()=>{
  // CODE
},[state])

ثبت پرسش جدید
Parastoo Ebrahimi
تخصص : front-end developer
@parastooebrahimi 4 سال پیش آپدیت شد
1

سلام. توی کامپوننت های تابعی برای اینکه بتونیم لایف سایکل ها رو داشته باشیم با استفاده از آرایه بهش میفهمونیم کدوم مرحله از لایف سایکل این کد اجرا بشه . اگر آرایه خالی باشه یعنی فقط یک بار کد اجرا بشه و در مرحله mount شدن. مثل compoonentDidMount میمونه توی کلاس بیس کامپوننت ها.
اگر یک یا چند پارامتر داشته باشه(میتونه props یا state باشه) یعنی اون پارامتر ها رو تارگت قرار بده و هر وقت اونها آپدیتی داشتن کد رو اجرا کن که مثل componentDidUpdate میمونه و فوق العاده کاربردی تر شده.
اگرم هیچ آرایه ای قرار ندید کد همیشه در حال رندر شدنه و کلی بار میزاره رو برنامتون.
برای componentWillUnmount هم کافیه یه کال بک فانکشن توی یوز افکت قرار بدید و آرایه خالی باشه.

useEffect(() => {
  // returned function will be called on component unmount 
  return () => {
  console.log("component will unmount")
  }
}, [])

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

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