Я впервые пытаюсь использовать React hooks, и все выглядело хорошо, пока я не понял, что когда я получаю данные и обновляю две разные переменные состояния (данные и флаг загрузки), мой компонент (таблица данных) отображается дважды, хотя оба вызова к обновлению состояния происходит одна и та же функция. Вот моя функция api, которая возвращает обе переменные в мой компонент.
const getData = url => {
const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
useEffect(async () => {
const test = await api.get('/people')
if(test.ok){
setLoading(false);
setData(test.data.results);
}
}, []);
return { data, loading };
};
В компоненте обычного класса вы должны сделать один вызов для обновления состояния, которое может быть сложным объектом, но "путь крючков", по-видимому, состоит в разделении состояния на более мелкие единицы, побочный эффект которого, по-видимому, отображается, когда они обновляются отдельно. Любые идеи, как смягчить это?