پاسخ داده شد
فرض کنید می خواهیم دو useEffect
را پشت سر هم اجرا کنیم. چطور این کار انجام دهیم؟
- نفیسه افقی 7 ماه قبل سوال کرد
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ عالی
به طور کلی useEffect ها async هستند (یعنی همزمان در thread جداگانه اجرا می شوند). پس اگر دو useEffect
داشته باشیم ، هر دو همزمان اجرا می شوند. اما اگر در dependency یکی از آن ها (دومی) متغیری را تعریف کنیم که تنها در useEffect
اولی مقدار آن true می شود، می توانیم آن ها را پشت سر هم اجرا کنیم:
(برای آشنایی با useEffect این لینک را ببینید)
import React, { useEffect, useState } from 'react';
function MyComponent() {
const [data, setData] = useState(null);
useEffect(() => {
// Effect 1: Fetch some data
fetch('https://myapi.com/data')
.then((response) => response.json())
.then((data) => {
setData(data);
});
}, []);
useEffect(() => {
// Effect 2: Do something with the fetched data
if (data) {
console.log(data);
}
}, [data]);
return <div>My Component</div>;
}
- نفیسه افقی 7 ماه قبل پاسخ داد
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ شما