考虑我有一个mapStateToProps作为
function mapStateToProps(state) {
return {
productList: state.products || []
}
}
另一个是
const EMPTY_ARRAY = []
function mapStateToProps(state) {
return {
productList: state.products || EMPTY_ARRAY
}
}
似乎在后一种情况下,重新渲染比前一种情况发生的次数少。所以我的问题是哪种方法更好,如果我们使用{{1} },例如
EMPTY_ARRAY
由于productList和customerList引用相同的数组?
答案 0 :(得分:1)
所以通常来说,创建变量与仅使用空括号相比有两件事。
通常,这是编程时经常遇到的主题,因为它总是平衡内存和速度。在这种情况下,如果您实际上没有在EMPTY_ARRAY
中存储任何内容,那么它将不会占用太多空间,而性能方面的好处可能是值得的。
就为什么要获得速度优势而言,是因为当您将括号放在空的方括号中时,程序必须花时间分配内存,然后才将结果分配给productList
,而不是仅仅使用已经分配了。
使用方括号的内存优势是,当函数结束时,垃圾回收器释放了该内存,使其可用于其他进程,而不是将空数组保留在常量中。
同样,当所涉及的变量实际上只是一个空数组时,这并没有多大区别,但是当您使用较大规模的数据集时,这确实可以有所作为。