Sometimes it’s nice to have a discrepancy between the number of a pokemon you fetch from the API in one call, and the number of items you display on one screen. This way you would make fewer API calls.
Let’s say you fetch 30 at a time, but only show 10 on the screen. So every 3rd (or % 3) page changes, you need to fetch new pokemon.
What do you think of this approach? This way you make fewer API calls and have a nicer user experience. You could even pre-fetch the next page while users were on page 2 instead of page 3, to further reduce loading times.