## 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`。