React Context
Context provides a way to pass data through the component tree without having to pass props down manually at every level.
It’s pretty easy to overuse context. Sending props through several components is tedious and annoying (though, type systems remove a lot of the worry and codemods help with the toil). Still, programmers have not entirely figured out a way to make explicit props feel “magical.”
In the meantime, we have Context.