Application State Management With React

Kent C. Dodds:

  1. Not everything in your application needs to be in a single state object. Keep things logically separated (user settings does not necessarily have to be in the same context as notifications). You will have multiple providers with this approach.
  2. Not all of your context needs to be globally accessible! Keep state as close to where it’s needed as possible.