From efd96eac2cbf1b08a38e63543e06a55a4fab087b Mon Sep 17 00:00:00 2001 From: Eric Olkowski Date: Tue, 6 Sep 2022 10:13:24 -0400 Subject: [PATCH] fix(Page): avoid unnecessary re-renders --- packages/react-core/src/components/Page/Page.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/react-core/src/components/Page/Page.tsx b/packages/react-core/src/components/Page/Page.tsx index 6bb82624a73..a84a20c5745 100644 --- a/packages/react-core/src/components/Page/Page.tsx +++ b/packages/react-core/src/components/Page/Page.tsx @@ -197,8 +197,17 @@ export class Page extends React.Component { if (mobileView !== this.state.mobileView) { this.setState({ mobileView }); } - this.pageRef.current && - this.setState({ width: this.pageRef.current.clientWidth, height: this.pageRef.current.clientHeight }); + if (this.pageRef?.current) { + const currentWidth = this.pageRef.current.clientWidth; + const currentHeight = this.pageRef.current.clientHeight; + + if (this.state.width !== currentWidth) { + this.setState({ width: currentWidth }); + } + if (this.state.height !== currentHeight) { + this.setState({ height: currentHeight }); + } + } }; handleResize = debounce(this.resize, 250);