الفرق انه في طريقة الـ useEffect سيتم تنفيذ الأمر لمرة واحدة فقط عند تحميل الصفحة بينما في الطريقة الأخرى سيتم تنفيذ الأمر في كل مرة يحدث refresh للمكونات الخاصة بك.
ولكن بما انه لا يوجد أي شيء يسبب الـ refresh في الكود الخاص بك فلا اعتقد انه يوجد فرق فعلي بين الطريقتان بالنسبة للكود الخاص بك.
ويمكنك التأكد من ذلك باختبار الكود التالي :
import { useEffect, useState } from "react";
export default function Home() {
const [refresh, setRefresh] = useState(0);
useEffect(() => {
{
console.log("hi from use effect");
}
}, []);
return (
<div>
{console.log("hi from return")}
<button onClick={() => setRefresh(refresh + 1)}>refresh</button>
</div>
);
}