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