我已经看到有两种方法可以在容器中以反应方式访问商店。 第一种方法是直接访问属性。
const mapStateToProps = state => {
return {
selectedUser: state.profile.selectedUser,
trainerBioInfo: state.profile.trainerBioInfo
};
};
第二种方法是访问减速器,然后在屏幕上从减速器中获得所需的东西。
const mapStateToProps = state => {
return {
profile: state.profile,
trainer: state.trainer
};
};
哪种方法更好?
答案 0 :(得分:2)
在我看来,第一种方法更有意义,因为每个键值对都包含适当的信息。
第二种方式,它们是相同的,所以毫无意义。您也可以返回以下
const mapStateToProps = state => {
return {
state
};
};
您会知道何时可以优化代码,因为JSX会以{this.props.state.profile.selectedUser.name}为例。
答案 1 :(得分:0)
第二种方法将给您一些异常行为,因为变量分配不正确。
因此第一种方法是正确的,可以进行如下修改:
const mapStateToProps = { profile } => {
return {
selectedUser: profile.selectedUser,
trainerBioInfo: profile.trainerBioInfo,
};
};
答案 2 :(得分:0)
我实际上改变了第二种方法。我错误地以错误的方式发布了它。那么,在这2个中,第一个是更好的方法吗?