Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MeasureRender extends React.Component {
- constructor() {
- super();
- this.mounted = false;
- }
- render() {
- const { name } = this.props;
- if (this.mounted) {
- window.performance.mark(`${name}UpdateStart`);
- } else {
- window.performance.mark(`${name}MountStart`);
- }
- return this.props.children;
- }
- componentDidMount() {
- const { name } = this.props;
- this.mounted = true;
- window.performance.mark(`${name}MountEnd`);
- window.performance.measure(`${name}Mount`, `${name}MountStart`, `${name}MountEnd`);
- }
- componentDidUpdate() {
- const { name } = this.props;
- window.performance.mark(`${name}UpdateEnd`);
- window.performance.measure(`${name}Update`, `${name}UpdateStart`, `${name}UpdateEnd`);
- }
- }
Add Comment
Please, Sign In to add comment