响应式mapStateToProps,mapDispatchToProps类型和选择器之间有什么区别

时间:2019-02-28 09:19:40

标签: react-native types redux middleware

我是新来对本机与redux反应的。我试图弄清楚react-native redux集成中的所有部分。给我带来麻烦的一件事是了解差异类型,选择器为我提供了更多细节。

1 个答案:

答案 0 :(得分:1)

MapStateToProps ->有他的名字,您可以将状态对象映射到道具。示例:

您有一家这样的商店:

{
    "query": {
        "bool" : {
           "must": [
             "match" : {
              "text" : {
                "query" : "California Nevada",
                "operator" : "and"
               }
             }
           ]
        }
    }
}

然后,您需要在组件中显示名称,因此可以在容器中使用mapstatetoprops访问存储在商店中的该数据,如下所示:

{
  name:'paul',
  surname:'watson'
}

MapDispatchToProps-> ,也就是说,当您需要调度动作时,可以将动作映射到可以在组件中使用的道具

您的操作类似:

const mapStateToProps = (state, ownProps) => ({
  myname: state.name,
})

然后,当用户单击某些东西时,您需要在商店中更新您的名称,从而可以将该动作映射到道具中,以使用mapDispatchToProps这样的updateName('pepito')调用,例如:

const setMyName = payload => ({
  type: SET_MY_NAME,
  payload,
})

选择器-> ,它只是一种抽象代码,选择器使您的生活更轻松。

选择器是将Redux状态作为参数并返回一些数据以传递给组件的函数,如下所示:

const mapDispatchToProps = {
  updateName: setMyName,
}

那是一个基本概念,您应该阅读正式文档并进行搜索,在Internet上有很多关于此的文章。