У меня есть состояние загрузки, которое я хочу показать, только если загрузка занимает более 1 секунды (поскольку я не хочу продолжать показывать загрузчик, даже если время загрузки составляет всего несколько миллисекунд).
Это тот, который показывает загрузчик независимо от скорости загрузки:
if(loading) {
return <div className="loader" />;
}
Это тот, у которого setTimeout:
if(loading) {
setTimeout(function() {
return <div className="loader" />;
}, 1000);
}
Я понимаю, что выражение return относится кsetTimeout
, а не компонент, поэтому он не работает.
Должен ли я сначала создать состояние (например, isLoadingSlow
), которое я изменю на true через 1 секунду при обратном вызове setTimeout
?Затем, исходя из этого состояния, я бы сделал оператор return с загрузчиком jsx?