React 性能优化技巧总结
而对于传递箭头函数的场景,我们可以代以只唯一声明过一次的函数,从而总可以拿到相同的引用,如下所示:
Tip #5:控制更新还是那句话,任何方法总有其适用范围。 第三条建议虽然处理了不必要的更新问题,但我们也不总能使用它。 而第四条,在某些情况下我们并不能拆分对象,如果我们传递了某种嵌套确实复杂的数据结构,那我们也很难将其拆分开来。 不仅如此,我们也不总能传递只声明了一次的函数。比如在我们的例子中,如果 App 是个函数式组件,恐怕就不能做到这一点了(在 class 组件中,我们可以用 bind 或者类内箭头函数来保证 this 的指向及唯一声明,而在函数式组件中则可能会有些问题)。 幸运的是, 无论是 class 组件还是函数式组件,我们都有办法控制浅比较的逻辑 。 在 class 组件中,我们可以使用生命周期钩子 而如果我们使用 React.memo,我们可以传递一个比较函数作为第二个参数。 注意! React.memo 的第二参数(比较函数)和
尽管这条建议是可行的,但我们仍要注意 比较函数的性能开销 。如果 props 对象过深,反而会消耗不少的性能。 总结上述场景仍不够全面,但多少能带来一些启发性思考。当然在性能方面,我们还有许多其他的问题需要考虑,但遵守上述的准则仍能带来相当不错的性能提升。 (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |