From ffcb60cb56adb3482f05a0c2841d091817d6866f Mon Sep 17 00:00:00 2001 From: Ella Date: Tue, 3 Oct 2023 11:19:50 +0300 Subject: [PATCH] memo style --- packages/block-editor/src/hooks/utils.js | 26 ++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/packages/block-editor/src/hooks/utils.js b/packages/block-editor/src/hooks/utils.js index 55aa7630e8e46c..5985b821d00a86 100644 --- a/packages/block-editor/src/hooks/utils.js +++ b/packages/block-editor/src/hooks/utils.js @@ -118,19 +118,33 @@ export function shouldSkipSerialization( blockType, featureSet, feature ) { return skipSerialization; } -export function useStyleOverride( style ) { +export function useStyleOverride( { id, css, assets, __unstableType } = {} ) { const { setStyleOverride, deleteStyleOverride } = unlock( useDispatch( blockEditorStore ) ); const fallbackId = useId(); useEffect( () => { - if ( ! style ) return; - const id = style.id || fallbackId; - setStyleOverride( id, style ); + // Unmount if there is CSS and assets are empty. + if ( ! css && ! assets ) return; + const _id = id || fallbackId; + setStyleOverride( _id, { + id, + css, + assets, + __unstableType, + } ); return () => { - deleteStyleOverride( id ); + deleteStyleOverride( _id ); }; - }, [ fallbackId, style, setStyleOverride, deleteStyleOverride ] ); + }, [ + id, + css, + assets, + __unstableType, + fallbackId, + setStyleOverride, + deleteStyleOverride, + ] ); } /**