Guest User

Untitled

a guest
Dec 17th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. class MeasureRender extends React.Component {
  2. constructor() {
  3. super();
  4. this.mounted = false;
  5. }
  6.  
  7. render() {
  8. const { name } = this.props;
  9. if (this.mounted) {
  10. window.performance.mark(`${name}UpdateStart`);
  11. } else {
  12. window.performance.mark(`${name}MountStart`);
  13. }
  14. return this.props.children;
  15. }
  16.  
  17. componentDidMount() {
  18. const { name } = this.props;
  19. this.mounted = true;
  20. window.performance.mark(`${name}MountEnd`);
  21. window.performance.measure(`${name}Mount`, `${name}MountStart`, `${name}MountEnd`);
  22. }
  23.  
  24. componentDidUpdate() {
  25. const { name } = this.props;
  26. window.performance.mark(`${name}UpdateEnd`);
  27. window.performance.measure(`${name}Update`, `${name}UpdateStart`, `${name}UpdateEnd`);
  28. }
  29. }
Add Comment
Please, Sign In to add comment