From dcfefc78a26ecfd26dcb9b744925bb1d7ea89c94 Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Sat, 30 Jan 2021 10:37:28 +0100 Subject: [PATCH] fixed save generated content in useEditorData --- packages/web/src/utility/useEditorData.js | 2 ++ packages/web/src/utility/useStorage.js | 2 ++ 2 files changed, 4 insertions(+) diff --git a/packages/web/src/utility/useEditorData.js b/packages/web/src/utility/useEditorData.js index aa5d8df1c..c6b80b9ef 100644 --- a/packages/web/src/utility/useEditorData.js +++ b/packages/web/src/utility/useEditorData.js @@ -43,6 +43,8 @@ export default function useEditorData({ tabid, reloadToken = 0, loadFromArgs = n setValue(init); valueRef.current = init; initialDataRef.current = init; + // mark as not saved + changeCounterRef.current += 1; } catch (err) { const message = (err && err.response && err.response.data && err.response.data.error) || 'Loading failed'; setErrorMessage(message); diff --git a/packages/web/src/utility/useStorage.js b/packages/web/src/utility/useStorage.js index fa436897b..175820faf 100644 --- a/packages/web/src/utility/useStorage.js +++ b/packages/web/src/utility/useStorage.js @@ -15,6 +15,8 @@ export default function useStorage(key, storageObject, initialValue) { return initialValue; } }); + + // use storedValue to ref, so that setValue with function argument works without changeing setValue itself const storedValueRef = React.useRef(storedValue); storedValueRef.current = storedValue;