Для меня никакая комбинация window.requestAnimationFrame
или setTimeout
не дала согласованных результатов. Иногда это сработало, но не всегда - или иногда было бы слишком поздно.
Я исправил это, зациклив window.requestAnimationFrame
столько раз, сколько необходимо. (Обычно 0 или 2-3 раза)
Ключ diff > 0
: здесь мы можем точно убедиться, что страница обновляется.
// Ensure new image was loaded before scrolling
if (oldH > 0 && images.length > prevState.images.length) {
(function scroll() {
const newH = ref.scrollHeight;
const diff = newH - oldH;
if (diff > 0) {
const newPos = top + diff;
window.scrollTo(0, newPos);
} else {
window.requestAnimationFrame(scroll);
}
}());
}
Можно ли запустить это локально без запуска какого-либо сервера?
blockquote>Нет
Я имею в виду, поскольку это просто html, css, js и зачем здесь нужен сервер? с какой целью?
blockquote>React загружает контент, используя XHR, который не может отправлять запросы на URL файловой схемы.
Кто-нибудь может объяснить, почему в папке сборки столько файлов?
blockquote>React использует фрагмент кода для оптимизации загружаемых данных. Это означает, что JS, который не используется немедленно, может быть загружен позже и не повлияет на время между начальной загрузкой страницы и первым отображением.