Использование реактивного запроса в новом проекте и небольшая проблема. Требуется показать счетчик загрузки на пустой странице до загрузки данных, а затем после того, как пользователь получит новые результаты с другим запросом, чтобы отобразить счетчик выше предыдущих результатов.
Первый случай довольно прост и хорошо задокументирован:
const { isLoading, error, data } = useQuery(["list", query], () =>
fetch(`https://api/list/${query}`)
);
if (isLoading) return <p>Loading...</p>;
return <div>{data.map((item) => <ListItem key={item.id} item={item}/></div>
Но не могу понять второй случай - потому что после изменения запроса response-query, выполняющий выборку новых результатов и данных из useQuery, пуст, в результате я получаю пустой массив по умолчанию и в этом случае попадает в это условие - if (isLoading && !data.length )
const { isLoading, error, data=[] } = useQuery(["list", query], () =>
fetch(`https://api/list/${query}`)
);
if (isLoading && !data.length ) return <p>Loading...</p>;
return <div>
{data.map((item) => <ListItem key={item.id} item={item}/>
{isLoading && <Spinner/>}
</div>
!data.length
? - person Siddharth   schedule 25.06.2020return <p>Loading...</p>
только тогда, когда у меня еще нет данных, после того, как у меня есть предыдущие данные, я хочу показать эти данные с помощью Spinner как указание на поступление новых данных. - person Kuzyo Yaroslav   schedule 25.06.2020