【发布时间】:2016-02-19 03:13:32
【问题描述】:
我的应用在加载时将数据从 Firebase 加载到 Redux 存储中。它作为包含数百个嵌套对象的对象加载。
为了呈现该数据的表格组件(特别是this one),我必须将其转换为对象数组。
我目前的解决方案是像这样在表格组件mapStateToProps() 中简单地转换它(使用lodash 库):
function mapStateToProps(state) {
return {
listingsData: _.values(state.config)
}
}
这似乎有效,并且我在 Firebase 仪表板中所做的更改几乎立即成功地呈现在我的应用中。
我的问题是:这种做事方式是否会导致我的应用程序(数组 + 存储)的内存消耗增加 2 倍?
这不是几百行的问题,但我希望某些用户拥有几千行数据。
如果是 2x 内存,有没有更有效的方法?
ETA:我认为这个答案将来可能仍然有用,但回想起来我应该只写一个小测试。此测试支持以下接受的答案:
var x = {a:{var:1}, b:{var:2}, c:{var:3}};
var y = _.values(x);
console.log(x, y); //values match
x.a.var = 99;
console.log(x, y); //values still match
【问题讨论】:
标签: javascript reactjs firebase lodash redux