我正在编写一个库,用于在组件重新呈现时记录日志,因此我需要对其进行检测。
对于通过猴子补丁React.Component
扩展了React.Component.prototype.componentDidUpdate
的组件,我可以做到这一点,但是如何检测纯功能组件的渲染时间呢?甚至有可能做到吗?
答案 0 :(得分:1)
由于功能组件不使用继承和生命周期挂钩,因此不修改组件源代码就无法对其进行修补。
可以使用React开发工具使用的API来访问React渲染器,将一个钩子分配给__REACT_DEVTOOLS_GLOBAL_HOOK__
,然后它被React渲染器捕获。 react-render-hook
是一个很好的例子。它本身并不提供所需的功能,但可以根据需求进行修改,特别是this line。