From df6a17c8eb07e1355527b01e99ee22cf4c2338d7 Mon Sep 17 00:00:00 2001 From: Andrew Duthie Date: Mon, 15 Apr 2019 04:42:39 -0400 Subject: [PATCH] Block Editor: Assign Provider isSyncingOutcomingValue only when blocks changing (#14955) --- packages/block-editor/src/components/provider/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/block-editor/src/components/provider/index.js b/packages/block-editor/src/components/provider/index.js index 9841f79d509a9..43f336325434d 100644 --- a/packages/block-editor/src/components/provider/index.js +++ b/packages/block-editor/src/components/provider/index.js @@ -99,10 +99,15 @@ class BlockEditorProvider extends Component { // This happens when a previous input is explicitely marked as persistent. ( newIsPersistent && ! isPersistent ) ) { + // When knowing the blocks value is changing, assign instance + // value to skip reset in subsequent `componentDidUpdate`. + if ( newBlocks !== blocks ) { + this.isSyncingOutcomingValue = true; + } + blocks = newBlocks; isPersistent = newIsPersistent; - this.isSyncingOutcomingValue = true; if ( isPersistent ) { onChange( blocks ); } else {