js/views/gallery.js — tinklelis su DocumentFragment
Kodo stulpelyje — js/views/gallery.js. renderGallery(pictures) išvalo tinklelį, sudeda visas korteles į DocumentFragment ir įdeda jį vienu ėjimu. (Kol kas nuotraukas paduodam kaip argumentą; 8 pamokoje jos ateis iš centrinės būsenos.)
Prieš tai index.html viduje reikia tinklelio konteinerio:
<div id="gallery" class="grid"></div>
(class="grid" — CSS tinklelis; stiliai jau pateikti style.css.)
Ir main.js vietoj teksto dabar piešia galeriją:
import { renderGallery } from './views/gallery.js';
// ...load() viduje, pavykus:
renderGallery(pictures);
Visas renderGallery — trys žingsniai: išvalyk (innerHTML = ''), sudėk į fragmentą, įdėk vieną kartą. Paskutinė eilutė — revealOnScroll(...) — įjungia „išnyrantį" pasirodymą (kitą žingsnį).
Patarimas.
gallery.innerHTML = ''pradžioje yra svarbus: be jo kiekvienasrenderGallerykviesdamas pridėtų korteles prie senų, ir jos dubliuotųsi. Perpiešimo modelis paprastas: išvalyk viską, tada pastatyk iš naujo iš duomenų. Tai neefektyviau nei „taškinis" atnaujinimas, bet daug paprasčiau ir mažiau klaidų — o būtent tai karkasai vėliau optimizuoja už tave (virtualus DOM).