<Provider /> makes the Redux
store available to any nested components that have been wrapped in the
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
store (Redux Store)
The single Redux
store in your application.
The root of your component hierarchy.
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:
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:
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