It allows you to pass props down multiple levels of a component tree without having to manually pass the prop each time, essentailly providing a shortcut for props to granchildren etc. src
Passing UI Themes, local preferences, or any parameter which needs to be consumable to many different levels of components at the same time.
When you have too many nested contexts... This is similar to callback hell. Can be addressed with the 'React.cloneElement()' function which returns a new element using the initial 'element' as a starting point. src
global state - state which is declared at the app-level. src
global context - context which is visible to the entire app.
provider - a component who's context changes can be subscribed to by a consumer.
consumer - A React component that subscribes to context changes. Using this component lets you subscribe to a context within a function component.