react-lazyload首屏加载后,再滑动就不加载了,都是loding,有用过的能指点下吗
我几乎把案例拿过来了,还是不行,求指点下,各位
import React from "react";
import LazyLoad from 'react-lazyload';
import Lazyloading from '../Lazyloading/index';
import Placeholder from '../Lazyloading/Placeholder';
class Griddoubt extends React.Component {
constructor(props) {
super(props);
this.state = {
};
};
render() {
const data = this.props.data;
//[{once: false, id: "http://39.107.0.png", count: 1},]
return (
<div>
{data.map((el, index) => {
return (
<LazyLoad
once={el.once}
key={index}
height={200}
offset={[100, 0]}
placeholder={<Placeholder />} //loading
debounce={500}
>
<Lazyloading once={el.once} id={el.icon} count={index + 1} />
</LazyLoad>
);
})}
</div>
);
}
}
export default Griddoubt;
import React from "react";
class Lazyloading extends React.Component {
constructor(props) {
super(props);
this.state = {
isReady: true,
count: 1,
};
};
componentWillReceiveProps(nextProps) {
if (nextProps.id !== this.props.id && this.props.id) {
this.setState({
isReady: false
});
setTimeout(() => {
this.setState({
isReady: true,
count: this.state.count + 1
});
}, 500);
} else {
this.setState({
isReady: true
});
}
}
render() {
console.log(this.props);//首屏渲染后,再滑动就执行不到这了
return this.state.isReady ? (
<div className="" style={{ height: '234PX', width: '50%', float: 'left', background: 'rgb(133, 138, 223)', textAlign: 'center', }}>
{this.props.once ? (
<div >
加载失败
</div>
) : (
<div >
加载成功
</div>
)}
</div>
) : (
<div >
loading...
</div>
);
}
}
export default Lazyloading;
import React from 'react';
export default function Placeholder() {
return (
<div style={{ height: '234PX', width: '50%', float: 'left', background: 'rgb(229, 142, 196)', textAlign: 'center' }}>
<img src="http://39.107./1.png"
style={{ width: '50% ' }}
/>
</div>
);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你好 解决了吗 我也碰到了这个问题
局部滚动好像是一直有问题 你这是局部滚动吗