Limitations of useState()
Thus far in this chapter, the complexity of cross-component state has been explored. But state management can also get challenging in scenarios where some state is only used inside a single component.
useState()
is a great tool for state management in most scenarios (of course, right now, it's also the only tool that's been covered). Therefore, useState()
should be your default choice for managing state. But useState()
can reach its limits if you need to derive a new state value that's based on the value of another state variable, as in this example:
setIsLoading(fetchedPosts ? false : true);
This short snippet is taken from a component where an HTTP request is sent to fetch some blog posts.
Note
You'll find the complete example code on GitHub at https://packt.link/FiOCM. You will also see more excerpts from the code later in this chapter.
When initiating the request, an isLoading
state value (responsible for showing...