Javascript 无限滚动列表赢得';不要加载更多数据

Javascript 无限滚动列表赢得';不要加载更多数据,javascript,reactjs,react-infinite-scroll,Javascript,Reactjs,React Infinite Scroll,我有一个无限滚动的组件,我希望它在用户滚动到页面底部时加载更多数据,但它只加载第一组数据,然后停止。 下面是我的代码: 从“antd”导入{Avatar,List,Spin,message}; 从“React”导入React,{Component}; 从“react infinite scroller”导入InfiniteScroll; 从“../../Services/Services”导入服务; /** *上传内容的无限滚动时间表 */ 类时间轴扩展组件{ /** * *@param{*}p

我有一个无限滚动的组件,我希望它在用户滚动到页面底部时加载更多数据,但它只加载第一组数据,然后停止。 下面是我的代码:

从“antd”导入{Avatar,List,Spin,message};
从“React”导入React,{Component};
从“react infinite scroller”导入InfiniteScroll;
从“../../Services/Services”导入服务;
/**
*上传内容的无限滚动时间表
*/
类时间轴扩展组件{
/**
*
*@param{*}props
*/
建造师(道具){
超级(道具);
此.state={
加载:false,
哈斯莫尔:没错,
数据:[]
};
this.fetchData=this.fetchData.bind(this);
}
/**
*装载
*/
componentDidMount(){
这是fetchData();
}
/**
*获取数据
*/
fetchData(){
Services.getData()
.然后((响应)=>此.handleData(响应))
.catch((错误)=>此.handleError(错误));
}
/**
*处理数据
*@param{*}响应
*/
handleData(答复){
const data=this.state.data.concat(response.data);
this.setState({data:data});
}
/**
*处理无限负载
*/
handleInfiniteOnLoad(){
这是我的国家({
加载:对,
});
这是fetchData();
这是我的国家({
加载:错误
});
};
/**
*处理任何错误
*@param{*}错误
*/
handleError(错误){
console.log(错误);
}
/**
*@return{*}
*/
render(){
返回(
(
内容
)}
>
{this.state.loading&&this.state.hasMore&&(
)}
);
}
}
导出默认时间线;
代码是从ant design复制的,但它使用的是我自己从后端检索的数据


提前谢谢

我最终发现,我需要向周围的div添加样式以使其可滚动,而不是整个页面可滚动。代码如下:


InfiniteScroll
中,道具使用
loadMore={this.fetchData}
而不是
loadMore={this.fetchData()}
我已经这样做了,现在当我滚动到底部时它不会加载更多数据。这是另一个问题,您需要为
hasMore
设置一个适当的值,现在尝试使用
hasMore={true}
我现在意识到这是一个不同的问题,并相应地更新了问题,谢谢您的帮助。我已经为
hasMore
设置了一个合适的值,该值等于true。您需要在
此.state.data
中添加逻辑以增加数据,如果滚动时有更多数据,您的
loadMore
函数将一次性下载所有数据,您可以将所有数据存储在状态中,并在调用
loadMore
时增加正在渲染的数据。