我是新手,对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,
})
然后,当用户点击某个东西时,你需要在商店中更新你的名字,这样你就可以在支柱中将这个动作映射到像mapDispatchToProps这样的updateName('pepito'),如下所示:
const mapDispatchToProps = {
updateName: setMyName,
}
选择器 - >它只是一个抽象代码,选择器让你的生活更轻松。
选择器是将Redux状态作为参数并返回一些数据传递给组件的函数,如下所示:
const getDataType = state => state.editor.dataType;
这是一个基本的概念,你应该阅读官方文档和搜索,在互联网上有很多关于此的文章。