Skip to content

Commit a2e546f

Browse files
committed
memo style
1 parent 6e242bd commit a2e546f

File tree

2 files changed

+21
-7
lines changed

2 files changed

+21
-7
lines changed

packages/block-editor/src/hooks/layout.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ export const withLayoutStyles = createHigherOrderComponent(
400400
layoutClasses
401401
);
402402

403-
useStyleOverride( { id, css } );
403+
useStyleOverride( { css } );
404404

405405
return (
406406
<BlockListBlock

packages/block-editor/src/hooks/utils.js

+20-6
Original file line numberDiff line numberDiff line change
@@ -118,19 +118,33 @@ export function shouldSkipSerialization( blockType, featureSet, feature ) {
118118
return skipSerialization;
119119
}
120120

121-
export function useStyleOverride( style ) {
121+
export function useStyleOverride( { id, css, assets, __unstableType } = {} ) {
122122
const { setStyleOverride, deleteStyleOverride } = unlock(
123123
useDispatch( blockEditorStore )
124124
);
125125
const fallbackId = useId();
126126
useEffect( () => {
127-
if ( ! style ) return;
128-
const id = style.id || fallbackId;
129-
setStyleOverride( id, style );
127+
// Unmount if there is CSS and assets are empty.
128+
if ( ! css && ! assets ) return;
129+
const _id = id || fallbackId;
130+
setStyleOverride( _id, {
131+
id,
132+
css,
133+
assets,
134+
__unstableType,
135+
} );
130136
return () => {
131-
deleteStyleOverride( id );
137+
deleteStyleOverride( _id );
132138
};
133-
}, [ fallbackId, style, setStyleOverride, deleteStyleOverride ] );
139+
}, [
140+
id,
141+
css,
142+
assets,
143+
__unstableType,
144+
fallbackId,
145+
setStyleOverride,
146+
deleteStyleOverride,
147+
] );
134148
}
135149

136150
/**

0 commit comments

Comments
 (0)