diff --git a/src/client/components/forms/useFieldType/index.js b/src/client/components/forms/useFieldType/index.js index ddbf3e63af..2ca81b0864 100644 --- a/src/client/components/forms/useFieldType/index.js +++ b/src/client/components/forms/useFieldType/index.js @@ -31,6 +31,7 @@ const useFieldType = (options) => { // Get field by path const field = getField(path); + const fieldExists = Boolean(field); const initialValue = field?.initialValue; @@ -81,10 +82,10 @@ const useFieldType = (options) => { const valueToSend = enableDebouncedValue ? debouncedValue : internalValue; useEffect(() => { - if (valueToSend !== undefined) { + if (valueToSend !== undefined || !fieldExists) { sendField(valueToSend); } - }, [valueToSend, sendField]); + }, [valueToSend, sendField, fieldExists]); return { ...options, diff --git a/src/client/hooks/useUnmountEffect.js b/src/client/hooks/useUnmountEffect.js index 69926920ce..5ae99d6902 100644 --- a/src/client/hooks/useUnmountEffect.js +++ b/src/client/hooks/useUnmountEffect.js @@ -1,7 +1,6 @@ import { useEffect } from 'react'; -const useUnmountEffect = callback => useEffect(() => { - return callback; -}, []); +// eslint-disable-next-line react-hooks/exhaustive-deps +const useUnmountEffect = (callback) => useEffect(() => callback, []); export default useUnmountEffect;