
getBoundingClientRect() после инвалидации лэйаута занимает больше времени:Size: a a a

getBoundingClientRect() после инвалидации лэйаута занимает больше времени:
getBoundingClientRect() всё равно, похоже, медленное ↓. Поэтому лучше его кешировать.

lodash-webpack-plugin ↓

babel-plugin-lodash. Он выбрасывает из Lodash те методы, которые вы не вызываете. Я писал про него раньше






_ с кучей методов, чем когда я 1) импортирую каждый метод в отдельности и 2) при взгляде на метод не могу сразу понять, он мой или «лодэшевский»
_.forEach или _.flatten для меня считывается проще, чем просто forEach или flatten

IntersectionObserver — АПИ, которое помогает определять, когда элемент пересекает видимую область экрана или другой элемент. Обнаружил две вещи насчёт него:isIntersecting в колбеке observer-а:const observer = new IntersectionObserver(myCallback);
observer.observe(document.querySelector('#target'));
function myCallback(entries) {
// entries[0].isIntersecting → true or false
}<div class="a">, а в другом — <div class="b">, и вы хотите определять, когда они пересекутся, то этого не получится. Пересечения двух элементов будут ловиться, только если один элемент — потомок другого:const observer = new IntersectionObserver(
myCallback,
{ root: document.querySelector('.a') }
);
observer.observe(document.querySelector('.b'));
function myCallback(entries) {
// Если .b — не потомок .a, то колбек
// вызовется только один раз
// с entries[0].isIntersecting === false
}