Redux-mapStateToProps返回的状态是否为存储状态的副本?

Redux-mapStateToProps返回的状态是否为存储状态的副本?,redux,react-redux,Redux,React Redux,我有这个功能: const mapStateToProps = function(state){ return { products: state.products } }; 商店是这样的: var store = { products: [1,2,3] }; 在连接的组件中使用this.props.products时,是否仍需要执行以下操作: var products = this.props.products.slice(); 制作副本,或者已经

我有这个功能:

const mapStateToProps = function(state){
    return {
        products: state.products
    }
};
商店是这样的:

var store = {
    products: [1,2,3]
};
在连接的组件中使用this.props.products时,是否仍需要执行以下操作:

var products = this.props.products.slice();
制作副本,或者已经是副本。

对于正常用例(例如,您使用
react redux
中的简单
connect()
函数,而不是更可定制的
connectAdvanced()
),交付到组件的道具与您在
MapStateTrops
中返回的道具完全相同

由于
mapstatetops
的state参数直接引用了存储的状态,因此它们引用了Redux存储的实际状态

因此,当您想要修改道具时,首先需要复制它们。 如果进行浅层复制,请注意,深层嵌套属性仍然引用存储中的对应属性,因此小心不要对其进行变异