react + redux 中state分析
2016-04-14 本文已影响1143人
lyzaijs
初次接触redux从而在网络上找学习资源。
对react+redux教程(一) 文章中的state
在什么位置定义,为什么命名为counter
.
下面是事故代码:
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import Counter from '../components/Counter'
import * as CounterActions from '../actions/counter'
//将state.counter绑定到props的counter
function mapStateToProps(state) {
return {
counter: state.counter
}
}
//将action的所有方法绑定到props上
function mapDispatchToProps(dispatch) {
return bindActionCreators(CounterActions, dispatch)
}
//通过react-redux提供的connect方法将我们需要的state中的数据和actions中的方法绑定到props上
export default connect(mapStateToProps, mapDispatchToProps)(Counter)
疑惑点在
function mapStateToProps(state) {
return {
counter: state.counter
}
}
(以上代码段是将redux中的state
中的counter
通过connetct
方法绑定到Counter
上)
如何知道state
中有counter
,在什么地方进行了定义?
分析:counter:state:counter
- 第一个
counter
是component
中的值名,在component
中需要根据这个名字来获得。(这个命名你可以随意) - 第二个
counter
(即state中的counter),是在combineReducers
中给定的: