关于mapStatetoProps和mapDispatchtoProps的2个问题
来源:5-4 结合react-场景说明
jiliangmason
2017-05-16
import * as actionCreators from './actionCreators'import { bindActionCreators } from 'redux'
function mapStateToProps(state) { return { todos: state.todos }}
function mapDispatchToProps(dispatch) { return { actions: bindActionCreators(actionCreators, dispatch) }}
export default connect(mapStateToProps, mapDispatchToProps)(TodoApp)
mapStateToProps(state)这个函数的state是指的什么?它是存放在哪里的,以及如何能知道这个state发生了改变?
actions: bindActionCreators(actionCreators, dispatch)这一行代码中,下划线部分不用使用相同的名字么?
2回答
-
state 就是 redux 中当前存储的数据,存放在 JS 的内容中。你在对 redux 和 React 连接起来之后,redux中数据的变化,会自动同步到 React 中。
可以使用相同的名字,因为一个是变量,一个是对象属性,不冲突。不过为了代码可读性,建议不要用一个名字。
022017-05-17 -
jiliangmason
提问者
2017-05-17
再补充一问:在redux-with-react这个例子当中,Hello.jsx文件中的:
function mapStateToProps(state) {
return {
userinfo: state.userinfo
}
}这里的state是不是reducers下面index.jsx中:
// 登录
case actionTypes.USERINFO_LOGIN:
return action.data返回的这个action.data?
012017-05-17
相似问题