diff --git a/packages/effect-fc/src/hooks/Hooks/useOptionalInput.ts b/packages/effect-fc/src/hooks/Hooks/useOptionalInput.ts index d7c22a1..320a58e 100644 --- a/packages/effect-fc/src/hooks/Hooks/useOptionalInput.ts +++ b/packages/effect-fc/src/hooks/Hooks/useOptionalInput.ts @@ -87,11 +87,13 @@ export const useOptionalInput: { SetStateAction.value(setStateAction, prevState) ), - disabled => !disabled + disabled => disabled ? Ref.set(options.ref, Option.none()) : internalRef.pipe( Effect.andThen(Schema.decode(options.schema)), Effect.andThen(v => Ref.set(options.ref, Option.some(v))), + Effect.andThen(() => setError(Option.none())), + Effect.catchTag("ParseError", e => Effect.sync(() => setError(Option.some(e)))), ), ), [disabledRef, options.ref, internalRef, options.schema])