Я заинтересован в создании компонента более высокого порядка для измерения времени в методе рендеринга компонента, а также для подсчета общего количества рендеров.
Моя идея состояла в том, чтобы записать время начала, используя window.performance.now()
в getSnapshotBeforeUpdate
или componentWillReceiveProps
компонента высшего порядка, обертывающего компонент, который я пытаюсь профилировать, а затем сравнить разницу в componentDidUpdate
и использовать ее для измерения рендера. время. Это кажется разумным, но действительно ли это точное измерение времени рендеринга?
Я бы также увеличил число рендеров, которые каждый компонентDidUpdate мог бы пропустить при любых рендерах?
Я думаю, что это можно использовать в тесте TestCafe, чтобы определить, не снижается ли производительность при любом коммите.
РЕДАКТИРОВАТЬ: я понял, что, если обернутый компонент реализует shouldComponentUpdate
, компонент более высокого порядка не будет иметь точного числа визуализаций, если этот метод жизненного цикла когда-либо вернет false. До сих пор я не думал об обходном пути для этой проблемы.