جاوااسکریپت - هوک React به نام useEffect یک وابستگی گمشده دارد
من در ساختن اپلیکیشنم با این مشکل روبرو هستم. کسی میداند مشکل چیست؟
هوک React به نام useEffect یک وابستگی گمشده دارد: 'conectar'. یا آن را اضافه کنید یا آرایهی وابستگی را حذف کنید react-hooks/exhaustive-deps
const GraficoEquivalenteNovo = props => {
const [equivalenteNovos, setEquivalenteNovos] = useState([]);
const [data, setData] = useState([]);
async function conectar() {
const resposta = await ConexaoGraficoEquivalenteNovo(props);
setEquivalenteNovos(resposta[0]);
setData(resposta[1]);
}
useEffect(() => {
conectar();
}, [props]);
return (....)
};
پاسخ شماره ۱
هوک شما به تابع connectar وابسته است که خارج از هوک اعلام شده است، اما داخلی فرآیند رندر است. این تابع در هر بار رندر دوباره ساخته میشود. بنابراین، React آن را به عنوان یک وابستگی ناپایدار میبیند. شما میتوانستید تابع را خارج از کامپوننت قرار دهید اما از آنجا که خود تابع از هوکهای state استفاده میکند و به props وابسته است، آن را به داخل هوک اثر منتقل کنید.
useEffect(() => {
async function conectar() {
const resposta = await ConexaoGraficoEquivalenteNovo(props);
setEquivalenteNovos(resposta[0]);
setData(resposta[1]);
}
conectar();
}, [props]);
