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;
这是一个基本的概念,你应该阅读官方文档并搜索,网上有很多关于这方面的文章。
我刚开始使用 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;
这是一个基本的概念,你应该阅读官方文档并搜索,网上有很多关于这方面的文章。