react 使用 lazyload 懒加载图片

文档地址

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/[email protected]" +
          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>

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...