我有兴趣创建一个更高阶的组件,以在组件的render方法中测量时间并统计总的render。
我的想法是在包裹我要分析的组件的高阶组件的window.performance.now()
或getSnapshotBeforeUpdate
中使用componentWillReceiveProps
记录开始时间,然后比较{{1 }},并用它来衡量渲染时间。这看似合理,但这真的是对渲染时间的准确度量吗?
我还将增加每个componentDidUpdate的渲染数量,这会错过任何渲染吗?
我的想法是,可以在TestCafe测试中使用它来检测性能是否因任何提交而降低。
编辑:我已经意识到,如果包装的组件实现componentDidUpdate
,则该生命周期方法返回false时,高阶组件将不具有准确的渲染计数。到目前为止,我还没有想到解决此问题的方法。