【发布时间】:2018-03-27 21:02:49
【问题描述】:
我将 UI 状态存储在 React 组件的 state 中,例如 this.state.receivedElements,它是一个数组。每当一个元素被推送到receivedElements 时,我都想重新渲染。我的问题是,当数组为空时,我可以不触发渲染吗?
或者一般来说,我可以只调用一次setState() 而不重新渲染,而其他时间都重新渲染吗? (有什么选择,解决方法吗?)
我已经阅读了这个帖子:https://github.com/facebook/react/issues/8598,但没有找到任何东西。
【问题讨论】:
-
听起来你想破解你的组件的行为。你认为,在你需要破解黑客之前,它会持续多久?你为什么不解释一下你正在构建什么以及你有什么问题。或者换句话说,是什么实际问题导致了您正在尝试的这种 hack。
-
实际上,我并不是要hack..我只是想知道我是否可以避免不必要的渲染...即使发生渲染也不会出错:)
-
这应该通过 shouldComponentUpdate() 来解决。
标签: javascript reactjs