فرض کنید می خواهیم دو useEffect
را پشت سر هم اجرا کنیم. چطور این کار انجام دهیم؟
- نفیسه افقی 2 سال قبل سوال کرد
- شما باید برای ارسال دیدگاه وارد شوید
به طور کلی 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>;
}
- نفیسه افقی 2 سال قبل پاسخ داد
- شما باید برای ارسال دیدگاه وارد شوید