我是新来对本机与redux反应的。我试图弄清楚react-native redux集成中的所有部分。给我带来麻烦的一件事是了解差异类型,选择器为我提供了更多细节。
答案 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上有很多关于此的文章。