From 3b89e826bf23523dcbfa5e3525fafe4852143b41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ella=20van=C2=A0Durpe?= Date: Thu, 22 Jun 2023 21:00:30 +0300 Subject: [PATCH] Fix perf issue --- .../src/components/rich-text/content.js | 11 +++++++++-- packages/blocks/src/api/serializer.js | 14 ++++++++------ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/packages/block-editor/src/components/rich-text/content.js b/packages/block-editor/src/components/rich-text/content.js index caded88d7e0bbd..dfd206a1ddb7e9 100644 --- a/packages/block-editor/src/components/rich-text/content.js +++ b/packages/block-editor/src/components/rich-text/content.js @@ -2,7 +2,11 @@ * WordPress dependencies */ import { RawHTML } from '@wordpress/element'; -import { children as childrenSource, getSaveElement } from '@wordpress/blocks'; +import { + children as childrenSource, + getSaveElement, + __unstableGetBlockProps as getBlockProps, +} from '@wordpress/blocks'; import deprecated from '@wordpress/deprecated'; /** @@ -72,7 +76,10 @@ function _getSaveElement( { name, attributes, innerBlocks } ) { } export function getRichTextValues( blocks = [] ) { - return findContent( + getBlockProps.skipFilters = true; + const values = findContent( ( Array.isArray( blocks ) ? blocks : [ blocks ] ).map( _getSaveElement ) ); + getBlockProps.skipFilters = false; + return values; } diff --git a/packages/blocks/src/api/serializer.js b/packages/blocks/src/api/serializer.js index 34922fd6508b01..fff687767b7fa8 100644 --- a/packages/blocks/src/api/serializer.js +++ b/packages/blocks/src/api/serializer.js @@ -81,12 +81,14 @@ const innerBlocksPropsProvider = {}; */ export function getBlockProps( props = {} ) { const { blockType, attributes } = blockPropsProvider; - return applyFilters( - 'blocks.getSaveContent.extraProps', - { ...props }, - blockType, - attributes - ); + return getBlockProps.skipFilters + ? props + : applyFilters( + 'blocks.getSaveContent.extraProps', + { ...props }, + blockType, + attributes + ); } /**