mapStateToProps、mapDispatchToProps 类型和反应本机中的选择器有什么区别

What is a difference between mapStateToProps,mapDispatchToProps types and selector in reactnative

我刚开始使用 redux 进行原生反应。我试图弄清楚 react-native redux 集成中的所有部分。给我带来麻烦的一件事是理解不同的类型和选择器给我更多的细节。

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

您有一家这样的商店:

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

然后你需要在你的组件中显示名称,这样你就可以在你的容器中访问存储在 mapstatetoprops 中的数据,如下所示:

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

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

您有一个类似的操作:

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

然后当用户点击某些东西抛出这个动作时,你需要在商店中更新你的名字,所以你可以将这个动作映射到一个道具中,像 updateName('pepito') 和 mapDispatchToProps 一样调用,就像这样:

const mapDispatchToProps = {
  updateName: setMyName,
}

选择器 -> 这只是一个抽象代码,选择器让你的生活更轻松。

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

const getDataType = state => state.editor.dataType;

这是一个基本的概念,你应该阅读官方文档并搜索,网上有很多关于这方面的文章。