GOOGLE ADS

понедельник, 2 мая 2022 г.

Как исправить отсутствующую зависимость в приложениях React с помощью useEffect?

Получение этой ошибки в моей консоли. Не знаю, как с ними обращаться

Я передаю guildId, поэтому я не уверен, почему он регистрирует эту ошибку

src/utils/hooks/useFetchGuildBans.tsx

Строка 22:6: React Hook useEffect имеет недостающую зависимость: 'guildId'. Либо включите его, либо удалите массив зависимостей react-hooks/exhaustive-deps

Вот мое использованиеFetchGuildBans.tsx

import { useEffect, useState } from 'react';
import { getGuildBans } from '../api';
import { GuildBanType } from '../types';
export function useFetchGuildBans(guildId: string) {
const [bans, setBans] = useState<GuildBanType[]>([]);
const [loading, setLoading] = useState(false);
const [error, setError] = useState();
const [updating, setUpdating] = useState(false);
useEffect(() => {
setLoading(true);
getGuildBans(guildId)
.then(({ data }) => {
setBans(data);
})
.catch((err) => {
console.log(err);
setError(err);
})
.finally(() => setLoading(false));
}, [updating]);
return { bans, loading, error, updating, setUpdating };
}


Решение проблемы

 useEffect(() => {
setLoading(true);
getGuildBans(guildId)
.then(({ data }) => {
setBans(data);
})
.catch((err) => {
console.log(err);
setError(err);
})
.finally(() => setLoading(false));
}, [updating, guildId]);

Второй параметр useEffectназывается массивом зависимостей. Сообщение об ошибке говорит, что guildIdотсутствует в этом массиве.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...