Provider
Overview
The <Provider />
makes the Redux store
available to any nested components that have been wrapped in the connect()
function.
Since any React component in a React Redux app can be connected, most applications will render a <Provider>
at the top level, with the entire app’s component tree inside of it.
Normally, you can’t use a connected component unless it is nested inside of a <Provider>
.
Props
store
(Redux Store)
The single Redux store
in your application.
children
(ReactElement)
The root of your component hierarchy.
context
You may provide a context instance. If you do so, you will need to provide the same context instance to all of your connected components as well. Failure to provide the correct context results in runtime error:
Invariant Violation
Could not find "store" in the context of "Connect(MyComponent)". Either wrap the root component in a
<Provider>
, or pass a custom React context provider to<Provider>
and the corresponding React context consumer to Connect(Todo) in connect options.
Note: You do not need to provide custom context in order to access the store. React Redux exports the context instance it uses by default so that you can access the store by:
Example Usage
In the example below, the <App />
component is our root-level component. This means it’s at the very top of our component hierarchy.
Vanilla React Example
Usage with React Router