We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
以前用jquery开发的时候经常使用jquery.lazyload进行图片的滚动加载,但是到了react体系之后就不太好了,因为不能直接操作DOM元素。所以就找了这个组件react-lazy-load。
npm install --save react-lazy-load
import React from "react"; import LazyLoad from "react-lazy-load"; const Table = React.createClass({ render: function () { return ( <div> <LazyLoad> <h1>我是延时加载出来的</h1> <img src="https://pic2.ooopic.com/01/03/51/25b1OOOPIC19.jpg" alt=""/> <img src="https://img.taopic.com/uploads/allimg/130501/240451-13050106450911.jpg" alt=""/> <img src="https://pic.nipic.com/2007-11-09/200711912453162_2.jpg" alt=""/> <h1>我是延时加载出来的</h1> </LazyLoad> </div> ); } }); module.exports = Table;
这样子的写法有一个问题,那就是页面render的时候,组件table就会render,只是没显示出来而已。这意味着,如果这个组件需要异步请求数据,那么这个异步请求还是没有办法实现滚动到了再请求的。我想了一个解决方案,那就是:“在要滚动加载的组件中取出,然后把写在其父组件当中,亲测有效。
多重LazyLoad能够更好地引用滚动加载。拿上面的组件举例。上面的一个组件包含3张图片,每一张图片都比较高,所以,以每张图片为滚动加载最小单位,而不是以组件为最小单位,显然能够更好地发挥滚动加载。代码大概改成这个样子。
const Table = React.createClass({ render: function () { return ( <div> <h1>我是延时加载出来的</h1> <LazyLoad> <img src="https://pic2.ooopic.com/01/03/51/25b1OOOPIC19.jpg" alt=""/> </LazyLoad> <LazyLoad> <img src="https://img.taopic.com/uploads/allimg/130501/240451-13050106450911.jpg" alt=""/> </LazyLoad> <LazyLoad> <img src="https://pic.nipic.com/2007-11-09/200711912453162_2.jpg" alt=""/> </LazyLoad> <h1>我是延时加载出来的</h1> </div> ); } });
The text was updated successfully, but these errors were encountered:
<-- 那就是:“在要滚动加载的组件中取出,然后把写在其父组件当中,亲测有效。--> 偶尔看到了你的文章。。。
Sorry, something went wrong.
横向滑动加载图片可以用这个插件吗,有大神知道吗,求解?
@Xiaolong145682 可以使用,该组件会判断自身是否在 viewport 中,再渲染 this.props.children
浏览器报 require is not defined 怎么解决
No branches or pull requests
前言
以前用jquery开发的时候经常使用jquery.lazyload进行图片的滚动加载,但是到了react体系之后就不太好了,因为不能直接操作DOM元素。所以就找了这个组件react-lazy-load。
使用方法
1. 安装
2. 编写组件
3. 问题
这样子的写法有一个问题,那就是页面render的时候,组件table就会render,只是没显示出来而已。这意味着,如果这个组件需要异步请求数据,那么这个异步请求还是没有办法实现滚动到了再请求的。我想了一个解决方案,那就是:“在要滚动加载的组件中取出,然后把写在其父组件当中,亲测有效。
4. 优化
多重LazyLoad能够更好地引用滚动加载。拿上面的组件举例。上面的一个组件包含3张图片,每一张图片都比较高,所以,以每张图片为滚动加载最小单位,而不是以组件为最小单位,显然能够更好地发挥滚动加载。代码大概改成这个样子。
The text was updated successfully, but these errors were encountered: