Comments (9)
@infinitescrollissue @benistary I too had this same issue. In my case, the problem was related to the dataLength
attribute. I had initially set it to the total count of all the records in the collection that I was trying to load, but it had to be set to the current length of the data being displayed. In the below example I originally had set dataLength={500}
but this only called fetchMoreItems()
once. After changing to dataLength={this.state.items.length}
things started working as expected.
this.state = { items: [], hasMoreItems: true };
fetchMoreItems() {
if (this.state.items.length >= 500) {
this.setState({ hasMoreItems: false });
return;
}
// a fake async api call
setTimeout(() => {
this.setState({
items: this.state.items.concat(Array.from({ length: 20 }))
});
}, 500);
}
<InfiniteScroll
dataLength={this.state.items.length}
next={this.fetchMoreItems}
hasMore={this.state.hasMoreItems}
>
</InfiniteScroll>
Hope this helps
from react-infinite-scroll-component.
@infinitescrollissue @benistary I too had this same issue. In my case, the problem was related to the
dataLength
attribute. I had initially set it to the total count of all the records in the collection that I was trying to load, but it had to be set to the current length of the data being displayed. In the below example I originally had setdataLength={500}
but this only calledfetchMoreItems()
once. After changing todataLength={this.state.items.length}
things started working as expected.this.state = { items: [], hasMoreItems: true }; fetchMoreItems() { if (this.state.items.length >= 500) { this.setState({ hasMoreItems: false }); return; } // a fake async api call setTimeout(() => { this.setState({ items: this.state.items.concat(Array.from({ length: 20 })) }); }, 500); } <InfiniteScroll dataLength={this.state.items.length} next={this.fetchMoreItems} hasMore={this.state.hasMoreItems} > </InfiniteScroll>
Hope this helps
Thanks a million. This solved the problem
from react-infinite-scroll-component.
I have same problem. next prop calls fetchMoreData only when the array data has lenght 3 or more.
And yes I have scroll bar visible when page is initialised.
from react-infinite-scroll-component.
@infinitescrollissue did you set the prop more as true when fetching the first page of records? It's working for me. I have just implemented it
from react-infinite-scroll-component.
@infinitescrollissue in the first load of your data, make sure there's a scroll, in case your items are too less to cause a scroll the onScroll listener will not trigger.
from react-infinite-scroll-component.
Thanks that helped a lot
from react-infinite-scroll-component.
@infinitescrollissue @benistary I too had this same issue. In my case, the problem was related to the
dataLength
attribute. I had initially set it to the total count of all the records in the collection that I was trying to load, but it had to be set to the current length of the data being displayed. In the below example I originally had setdataLength={500}
but this only calledfetchMoreItems()
once. After changing todataLength={this.state.items.length}
things started working as expected.this.state = { items: [], hasMoreItems: true }; fetchMoreItems() { if (this.state.items.length >= 500) { this.setState({ hasMoreItems: false }); return; } // a fake async api call setTimeout(() => { this.setState({ items: this.state.items.concat(Array.from({ length: 20 })) }); }, 500); } <InfiniteScroll dataLength={this.state.items.length} next={this.fetchMoreItems} hasMore={this.state.hasMoreItems} > </InfiniteScroll>
Hope this helps
Thanks a million. This solved the problem
Thats awesome, helped me a lot, this was the exact mistake I was doing ... Thanks a ton man
from react-infinite-scroll-component.
Thanks a lot, I was trying to understand where the problem is. A bit more explanatory text for dataLength would be good. It is hard to understand if it's total length of data or currently displayed data length (at least for me).
from react-infinite-scroll-component.
@infinitescrollissue @benistary I too had this same issue. In my case, the problem was related to the
dataLength
attribute. I had initially set it to the total count of all the records in the collection that I was trying to load, but it had to be set to the current length of the data being displayed. In the below example I originally had setdataLength={500}
but this only calledfetchMoreItems()
once. After changing todataLength={this.state.items.length}
things started working as expected.this.state = { items: [], hasMoreItems: true }; fetchMoreItems() { if (this.state.items.length >= 500) { this.setState({ hasMoreItems: false }); return; } // a fake async api call setTimeout(() => { this.setState({ items: this.state.items.concat(Array.from({ length: 20 })) }); }, 500); } <InfiniteScroll dataLength={this.state.items.length} next={this.fetchMoreItems} hasMore={this.state.hasMoreItems} > </InfiniteScroll>
Hope this helps
Thanks a lott Man.
from react-infinite-scroll-component.
Related Issues (20)
- Integration with Headless UI popover not working as expected.
- Block is appearing during scroll HOT 1
- Number 0 appears when finish loading message appears HOT 1
- `scrollableTarget` throws error `Type 'HTMLElement' is not assignable to type 'ReactNode'` in React 18 HOT 3
- Inverse does not work if you do not set a specific height
- Not calling next function on long screens HOT 13
- can not working in shadowDOM
- react-infinite-scroll-component is no longer maintained HOT 3
- The component is not working after a certain amount of items in the list
- Don't loading new content, if initial content height <= screen height HOT 5
- Please modify the npm docs and mention that for the dataLength prop we need to pass the actual length of the data that we are currently rendering.
- TypeError on latest Next.js HOT 4
- Bidirectional Infinite Scroll HOT 2
- Wrong calculation in isElementAtTop method causing percentage scrollThreshold to fail in inverse mode HOT 1
- Invalid Hook call on SetProgress -> 100%
- is this library supported horizontal scroll?
- 【IMPORT FOR EVERYONE】HOW TO FIX:Don't load new items when content height <= screen height HOT 2
- Possibility to pass throttle time as props
- How can I change the scrollY when the InfiniteScroll has rendered HOT 2
- next function doesn't called HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-infinite-scroll-component.