From 06f9dd6d03e59e01002cd275f5d372131a7dd7f4 Mon Sep 17 00:00:00 2001 From: George Mamadashvili Date: Fri, 25 Oct 2024 16:14:32 +0400 Subject: [PATCH] Rich Text: Fix React Complier error for 'useEventListeners' (#66460) * Rich Text: Fix React Complier error for 'useEventListeners' * Try 'useInsertionEffect' hook Co-authored-by: Mamaduka Co-authored-by: tyxla --- packages/rich-text/src/component/event-listeners/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/rich-text/src/component/event-listeners/index.js b/packages/rich-text/src/component/event-listeners/index.js index a6327fe6637c37..4f69db36db06a0 100644 --- a/packages/rich-text/src/component/event-listeners/index.js +++ b/packages/rich-text/src/component/event-listeners/index.js @@ -1,7 +1,7 @@ /** * WordPress dependencies */ -import { useMemo, useRef } from '@wordpress/element'; +import { useMemo, useRef, useInsertionEffect } from '@wordpress/element'; import { useRefEffect } from '@wordpress/compose'; /** @@ -25,7 +25,9 @@ const allEventListeners = [ export function useEventListeners( props ) { const propsRef = useRef( props ); - propsRef.current = props; + useInsertionEffect( () => { + propsRef.current = props; + } ); const refEffects = useMemo( () => allEventListeners.map( ( refEffect ) => refEffect( propsRef ) ), [ propsRef ]