Load more data on scrollScroll to bottom of div?How to Check if element is visible after scrolling?JavaScript that executes after page loadScroll to the top of the page using JavaScript/jQuery?Convert form data to JavaScript object with jQueryCheck if a user has scrolled to the bottomHow to get the data-id attribute?jQuery scroll to elementHow does data binding work in AngularJS?jQuery load more data on scroll
Wrapping Cryptocurrencies for interoperability sake
What is this type of notehead called?
Two-sided logarithm inequality
How will losing mobility of one hand affect my career as a programmer?
Why did the EU agree to delay the Brexit deadline?
MAXDOP Settings for SQL Server 2014
Can the Supreme Court overturn an impeachment?
Does the Mind Blank spell prevent the target from being frightened?
How must one send away the mother bird?
Global amount of publications over time
Could solar power be utilized and substitute coal in the 19th Century
Can I use my Chinese passport to enter China after I acquired another citizenship?
Is possible to search in vim history?
Does having a TSA Pre-Check member in your flight reservation increase the chances that everyone gets Pre-Check?
Reply 'no position' while the job posting is still there
Longest common substring in linear time
How do I repair my stair bannister?
How do I implement a file system driver driver in Linux?
On a tidally locked planet, would time be quantized?
Why is Arduino resetting while driving motors?
How do I extrude a face to a single vertex
What's the difference between 違法 and 不法?
Some numbers are more equivalent than others
Drawing a topological "handle" with Tikz
Load more data on scroll
Scroll to bottom of div?How to Check if element is visible after scrolling?JavaScript that executes after page loadScroll to the top of the page using JavaScript/jQuery?Convert form data to JavaScript object with jQueryCheck if a user has scrolled to the bottomHow to get the data-id attribute?jQuery scroll to elementHow does data binding work in AngularJS?jQuery load more data on scroll
I have a page with a search input, once the user clicks on submit the results come up.
There can be a lot of results (usually not but there can be thousands of results) and I don't want to load them all at once, how can I get a few dozens and fetch more results from he API as the user scrolls down, what's the correct way to do that? I was thinking that Lodash throttle can fit but I couldn't find a good example for it.
This is my react component:
const getContacts = async (searchString) =>
const data: contactsInfo = await axios.get(`api/Contats/Search?contactNum=$searchString`);
return contactsInfo;
;
export default class Home extends React.Component
state =
contactsInfo: [],
searchString: '',
;
handleSubmit = async () =>
const searchString = this.state;
const contactsInfo = await getContacts(searchString);
this.setState( contactsInfo );
;
onInputChange = e =>
this.setState(
searchString: e.target.value,
);
;
onMouseMove = e =>
;
render()
const contactsInfo, searchString, = this.state;
return (
<div css=bodyWrap onMouseMove=e => this.onMouseMove(e)>
<Header appName="VERIFY" user=user />
user.viewApp && (
<div css=innerWrap>
<SearchInput
searchIcon
value=searchString
onChange=e => this.onInputChange(e)
handleSubmit=this.handleSubmit
/>
contactsInfo.map(info => (
<SearchResultPanel
info=info
isAdmin=user.isAdmin
key=info.id
/>
))
</div>
)
<Footer />
</div>
);
javascript reactjs
add a comment |
I have a page with a search input, once the user clicks on submit the results come up.
There can be a lot of results (usually not but there can be thousands of results) and I don't want to load them all at once, how can I get a few dozens and fetch more results from he API as the user scrolls down, what's the correct way to do that? I was thinking that Lodash throttle can fit but I couldn't find a good example for it.
This is my react component:
const getContacts = async (searchString) =>
const data: contactsInfo = await axios.get(`api/Contats/Search?contactNum=$searchString`);
return contactsInfo;
;
export default class Home extends React.Component
state =
contactsInfo: [],
searchString: '',
;
handleSubmit = async () =>
const searchString = this.state;
const contactsInfo = await getContacts(searchString);
this.setState( contactsInfo );
;
onInputChange = e =>
this.setState(
searchString: e.target.value,
);
;
onMouseMove = e =>
;
render()
const contactsInfo, searchString, = this.state;
return (
<div css=bodyWrap onMouseMove=e => this.onMouseMove(e)>
<Header appName="VERIFY" user=user />
user.viewApp && (
<div css=innerWrap>
<SearchInput
searchIcon
value=searchString
onChange=e => this.onInputChange(e)
handleSubmit=this.handleSubmit
/>
contactsInfo.map(info => (
<SearchResultPanel
info=info
isAdmin=user.isAdmin
key=info.id
/>
))
</div>
)
<Footer />
</div>
);
javascript reactjs
add a comment |
I have a page with a search input, once the user clicks on submit the results come up.
There can be a lot of results (usually not but there can be thousands of results) and I don't want to load them all at once, how can I get a few dozens and fetch more results from he API as the user scrolls down, what's the correct way to do that? I was thinking that Lodash throttle can fit but I couldn't find a good example for it.
This is my react component:
const getContacts = async (searchString) =>
const data: contactsInfo = await axios.get(`api/Contats/Search?contactNum=$searchString`);
return contactsInfo;
;
export default class Home extends React.Component
state =
contactsInfo: [],
searchString: '',
;
handleSubmit = async () =>
const searchString = this.state;
const contactsInfo = await getContacts(searchString);
this.setState( contactsInfo );
;
onInputChange = e =>
this.setState(
searchString: e.target.value,
);
;
onMouseMove = e =>
;
render()
const contactsInfo, searchString, = this.state;
return (
<div css=bodyWrap onMouseMove=e => this.onMouseMove(e)>
<Header appName="VERIFY" user=user />
user.viewApp && (
<div css=innerWrap>
<SearchInput
searchIcon
value=searchString
onChange=e => this.onInputChange(e)
handleSubmit=this.handleSubmit
/>
contactsInfo.map(info => (
<SearchResultPanel
info=info
isAdmin=user.isAdmin
key=info.id
/>
))
</div>
)
<Footer />
</div>
);
javascript reactjs
I have a page with a search input, once the user clicks on submit the results come up.
There can be a lot of results (usually not but there can be thousands of results) and I don't want to load them all at once, how can I get a few dozens and fetch more results from he API as the user scrolls down, what's the correct way to do that? I was thinking that Lodash throttle can fit but I couldn't find a good example for it.
This is my react component:
const getContacts = async (searchString) =>
const data: contactsInfo = await axios.get(`api/Contats/Search?contactNum=$searchString`);
return contactsInfo;
;
export default class Home extends React.Component
state =
contactsInfo: [],
searchString: '',
;
handleSubmit = async () =>
const searchString = this.state;
const contactsInfo = await getContacts(searchString);
this.setState( contactsInfo );
;
onInputChange = e =>
this.setState(
searchString: e.target.value,
);
;
onMouseMove = e =>
;
render()
const contactsInfo, searchString, = this.state;
return (
<div css=bodyWrap onMouseMove=e => this.onMouseMove(e)>
<Header appName="VERIFY" user=user />
user.viewApp && (
<div css=innerWrap>
<SearchInput
searchIcon
value=searchString
onChange=e => this.onInputChange(e)
handleSubmit=this.handleSubmit
/>
contactsInfo.map(info => (
<SearchResultPanel
info=info
isAdmin=user.isAdmin
key=info.id
/>
))
</div>
)
<Footer />
</div>
);
javascript reactjs
javascript reactjs
edited Mar 7 at 9:14
Murat Karagöz
15.1k53669
15.1k53669
asked Mar 7 at 9:11
user3378165user3378165
2,43782758
2,43782758
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
If the API supports pagination then you can use React-Infinite-Scroll. It looks like this
<div style="height:700px;overflow:auto;">
<InfiniteScroll
pageStart=0
loadMore=loadFunc
hasMore=true
loader=<div className="loader">Loading ...</div>
useWindow=false>
items
</InfiniteScroll>
</div>
However if the REST API does not support it, you can still load the data and show them in chunks to the user with the same library but you would need to handle the current load state by yourself.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55039950%2fload-more-data-on-scroll%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If the API supports pagination then you can use React-Infinite-Scroll. It looks like this
<div style="height:700px;overflow:auto;">
<InfiniteScroll
pageStart=0
loadMore=loadFunc
hasMore=true
loader=<div className="loader">Loading ...</div>
useWindow=false>
items
</InfiniteScroll>
</div>
However if the REST API does not support it, you can still load the data and show them in chunks to the user with the same library but you would need to handle the current load state by yourself.
add a comment |
If the API supports pagination then you can use React-Infinite-Scroll. It looks like this
<div style="height:700px;overflow:auto;">
<InfiniteScroll
pageStart=0
loadMore=loadFunc
hasMore=true
loader=<div className="loader">Loading ...</div>
useWindow=false>
items
</InfiniteScroll>
</div>
However if the REST API does not support it, you can still load the data and show them in chunks to the user with the same library but you would need to handle the current load state by yourself.
add a comment |
If the API supports pagination then you can use React-Infinite-Scroll. It looks like this
<div style="height:700px;overflow:auto;">
<InfiniteScroll
pageStart=0
loadMore=loadFunc
hasMore=true
loader=<div className="loader">Loading ...</div>
useWindow=false>
items
</InfiniteScroll>
</div>
However if the REST API does not support it, you can still load the data and show them in chunks to the user with the same library but you would need to handle the current load state by yourself.
If the API supports pagination then you can use React-Infinite-Scroll. It looks like this
<div style="height:700px;overflow:auto;">
<InfiniteScroll
pageStart=0
loadMore=loadFunc
hasMore=true
loader=<div className="loader">Loading ...</div>
useWindow=false>
items
</InfiniteScroll>
</div>
However if the REST API does not support it, you can still load the data and show them in chunks to the user with the same library but you would need to handle the current load state by yourself.
answered Mar 7 at 9:14
Murat KaragözMurat Karagöz
15.1k53669
15.1k53669
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55039950%2fload-more-data-on-scroll%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown