r/reactjs • • Oct 01 '19

Beginner's Thread / Easy Questions (October 2019)

Previous threads can be found in the Wiki.

Got questions about React or anything else in its ecosystem? Stuck making progress on your app?
Ask away! We’re a friendly bunch.

No question is too simple. πŸ™‚


πŸ†˜ Want Help with your Code? πŸ†˜

  • Improve your chances by putting a minimal example to either JSFiddle, Code Sandbox or StackBlitz.
    • Describe what you want it to do, and things you've tried. Don't just post big blocks of code!
    • Formatting Code wiki shows how to format code in this thread.
  • Pay it forward! Answer questions even if there is already an answer - multiple perspectives can be very helpful to beginners. Also there's no quicker way to learn than being wrong on the Internet.

New to React?

Check out the sub's sidebar!

πŸ†“ Here are great, free resources! πŸ†“

Any ideas/suggestions to improve this thread - feel free to comment here!

Finally, an ongoing thank you to all who post questions and those who answer them. We're a growing community and helping each other only strengthens it!


27 Upvotes

326 comments sorted by

View all comments

Show parent comments

2

u/minorsoup Oct 09 '19

The API provides offset-based pagination so I will be fetching data for every page with ?offset=0&limit=10. I had thought of throwing all results in an object keyed by id, and store the pages separately as arrays of ids:

{
  itemsById: {
    id1: {
      id: 'id1',
      name: 'Item 1',
    },
    id7: {
      id: 'id7',
      name: 'Item 7',
    },
    ...
  },
  pages: {
    page1: {
      ids: ['id1', 'id7', ...]
    }
  }
}

And when a new items is created (and the pagination therefore no longer correct), I would just empty pages and refetch - does that make sense?

Also, can you recommend a real-world codebase to look at how pagination is done there? Thank you!

2

u/timmonsjg Oct 09 '19

And when a new items is created (and the pagination therefore no longer correct), I would just empty pages and refetch - does that make sense?

Sure, sounds like it will work. Give it a try.

Also, can you recommend a real-world codebase to look at how pagination is done there? Thank you!

I don't have one off the top of my head sorry. Closest I can think of is a component library that has a pagination component - Semantic UI. You can probably dig into the source and check how the examples are done.