File tree Expand file tree Collapse file tree 1 file changed +7
-12
lines changed
src/components/common/helpers Expand file tree Collapse file tree 1 file changed +7
-12
lines changed Original file line number Diff line number Diff line change @@ -1114,26 +1114,21 @@ export const reloadToastBody = () => {
11141114
11151115export function useHeightObserver ( callback ) : [ RefObject < HTMLDivElement > ] {
11161116 const ref = useRef ( null )
1117- const callbackRef = useRef ( callback )
11181117
1119- useLayoutEffect ( ( ) => {
1120- callbackRef . current = callback
1121- } , [ callback ] )
1122-
1123- const handleHeightChange = useCallback ( ( ) => {
1124- callbackRef . current ?.( ref . current . clientHeight )
1125- } , [ callbackRef ] )
1126-
1127- useLayoutEffect ( ( ) => {
1118+ useEffect ( ( ) => {
11281119 if ( ! ref . current ) {
11291120 return
11301121 }
1131- const observer = new ResizeObserver ( handleHeightChange )
1122+ const observer = new ResizeObserver ( ( ) => {
1123+ /* this will prevent infinite loop */
1124+ /* the callback will be called only before the next repaint */
1125+ window . requestAnimationFrame ( callback )
1126+ } )
11321127 observer . observe ( ref . current )
11331128 return ( ) => {
11341129 observer . disconnect ( )
11351130 }
1136- } , [ handleHeightChange , ref ] )
1131+ } , [ callback ] )
11371132
11381133 return [ ref ]
11391134}
You can’t perform that action at this time.
0 commit comments