From 299313ca9b95ccd6b935040f3c9d2b8cd13e6699 Mon Sep 17 00:00:00 2001 From: Andrew Duthie Date: Fri, 12 Apr 2019 10:05:43 -0400 Subject: [PATCH] Block Editor: Assign Provider isSyncingOutcomingValue only when blocks changing --- 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 9841f79d509a9b..43f336325434db 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 {