## Provider
要让所有的容器组件都可以访问到`store`,把它注入到根组件是再好不过的事情了。
`src/index.js`
~~~
import React from 'react'
import ReactDOM from 'react-dom'
import { Provider } from 'react-redux'
import store from './redux/store'
import Router from 'router/router'
ReactDOM.render(
<Provider store={store}>
<Router />
</Provider>,
document.getElementById('app')
)
~~~
就酱紫~很简单。
现在来整理下(可以读[React 实践心得:react-redux 之 connect 方法详解](http://taobaofed.org/blog/2016/08/18/react-redux-connect/))
1. `Provider`组件是让所有的组件都可以访问到`store`的容器组件,用这个组件可以使我们不需要调用`store.subscribe`手动监听,也不需要我们显示地传递`store`。
2. `connect`函数作用是从`Redux state`树中读取部分数据,并把这些部分数据通过`props`的形式传递给要渲染的组件,同时也传递`dispatch(action)`函数到`props`。(当然可以只传mapStateToProps,因为这是connect的第一个参数,所以要传mapDispatchToProps的话必须要有mapStateToProps)。
接下来,我们要说一下异步的`action`。