That's also the reason why you have to make sure you're passing an update function to `setState` sometimes.
That's not why you have to do it, it's because the state can be updated asynchronously. It's only applicable when you try to update the state based on previous state or props values.