与React演示和其他示例一样,如果添加或删除了一条记录,我会看到人们重置状态数据.这导致整个列表被重新呈现,而不是简单地附加最新记录,或从当前DOM树中删除所选择的记录.
它有什么用?或者我该如何避免这种情况.
更新 情况:Facebook Feed,您继续滚动Feed,达到约5000个Feed状态和许多其他类型的卡.不仅如此,每个状态Feed都有自己的"评论列表".
每秒钟,5-10张状态卡预先挂在墙上,或者在延迟加载的情况下附加.即.每秒,你重新渲染n + n*0.5,其中n可以超过5000张卡.
另外,请考虑"重新绘制",渲染循环的成本.
更新State对象深处的嵌套属性的最佳方法是什么?
// constructor --
this.state.someprop = [{quadrangle: {rectangle: {width: * }}, ...}]
...
Run Code Online (Sandbox Code Playgroud)
我想更新矩形对象的宽度。
this.state.quadrangle.rectangle.width = newvalue // isn't working
Run Code Online (Sandbox Code Playgroud)
我可以像这样工作:
const {quadrangle} = this.state
quadrangle.rectangle.width = newvalue
this.setState = {
quadrangle: quadrangle
}
Run Code Online (Sandbox Code Playgroud)
但是,这种方法听起来并不是实现性能/内存的最佳方法