文档地址
index.html
<script>
(function(w, d) {
var b = d.getElementsByTagName("body")[0];
var s = d.createElement("script");
var v = !("IntersectionObserver" in w) ? "8.17.0" : "10.19.0";
s.async = true; // This includes the script as async. See the "recipes" section for more information about async loading of LazyLoad.
s.src =
"https://cdn.jsdelivr.net/npm/vanilla-lazyload@" +
v +
"/dist/lazyload.min.js";
w.lazyLoadOptions = {
/* Your options here */
};
b.appendChild(s);
})(window, document);
</script>
util.js
export const initLazyLoad = el => {
return new window.LazyLoad({
container: el,
load_delay: 300,
});
};
使用
lazyLoad = null;
async componentDidMount() {
this.lazyLoad = util.initLazyLoad(this.wraper.current);
// 数据加载完,更新下懒加载配置
await store.getListData();
this.lazyLoad.update();
}
<div ref={this.wraper}>
<img data-src="../img/44721746JJ_15_a.jpg" width="220" height="280">
<!-- More images -->
</div>