在React中访问容器中状态的更好方法是什么

时间:2019-03-06 06:30:17

标签: reactjs react-native redux

我已经看到有两种方法可以在容器中以反应方式访问商店。 第一种方法是直接访问属性。

const mapStateToProps = state => {
    return {
        selectedUser: state.profile.selectedUser,
        trainerBioInfo: state.profile.trainerBioInfo
    };
};

第二种方法是访问减速器,然后在屏幕上从减速器中获得所需的东西。

const mapStateToProps = state => {
    return {
        profile: state.profile,
        trainer: state.trainer
    };
};

哪种方法更好?

3 个答案:

答案 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个中,第一个是更好的方法吗?