我对mapStateToProps的理解

来源:8-6 修改城市完成

低级前端开花工程师

2017-06-29

  function mapStateToProps(state){
         console.log(state)
        return {
            userinfo : state.userinfo
        }
    }

    function mapDispatchToProps(dispatch){
        return {
            userInfoActions : bindActionCreators(userInfoActionsFromOtherFile,dispatch)
        }
    }

mapStateToProps相当于是在store中读取数据,与reducer没关系 拿的是已经有的数据,而不是执行reducer在获取的

可以打印下state看看 是一个对象 键名相当于是reducer的规则,键值就是这个规则所对应的数据

如果说我们要获取store中的数据的话,就需要state.xxx (xxx表示我们定义的reducer规则)


//  通过MapStateToProps把我们return的数据映射到props中,这个就方便使用了 this.props.xxx (感觉有点不恰当)


mapDispatchToProps 这个就是把action存到一个名字为userInfoActions的对象中

如果说需要修改redux数据则需要通过修改action来完成  this.props.userInfoActions.xxx(传参 )  (xxx表示action)

(可以这样理解,Action 描述当前发生的事情。改变 State 的唯一办法,就是使用 Action。它会运送数据到 Store。)


不知道这样子理解合适吗 请老师指点下

写回答

1回答

双越

2017-06-29

还不够全面。

这两个函数的核心价值在于,它能把 redux 中的数据和操作函数,作为 props 赋值到 react 组件中,这样就可以直接在 react 组件中进行操作——这样才是将 redux 和react 结合起来了

0
0

React高级实战 打造大众点评Web App

已经对React Router4与Webpack2进行了项目升级

1711 学习 · 707 问题

查看课程