use-mask-input icon indicating copy to clipboard operation
use-mask-input copied to clipboard

Type error when using the lib with @types/[email protected] and @types/[email protected]

Open adrianorocha-dev opened this issue 9 months ago • 1 comments

I recently updated react and react-dom to their latest versions, and I ran into the following error when compiling my project: Type '(input: HTMLInputElement | null) => HTMLInputElement | null | undefined' is not assignable to type '((instance: HTMLInputElement | null) => void | (() => VoidOrUndefinedOnly)) | RefObject<HTMLInputElement> | null | undefined'.

I went into the .d.ts file to investigate, and I was able to solve the problem by changing the withMask type from:

declare const withMask: (mask: Mask, options?: Options) => (input: Input) => Input;

to:

declare const withMask: (mask: Mask, options?: Options) => (input: Input) => void;

adrianorocha-dev avatar Apr 25 '24 23:04 adrianorocha-dev

I was reading about the upcoming React 19 update, and found something that maybe related. https://react.dev/blog/2024/04/25/react-19#cleanup-functions-for-refs Apparently refs will now support cleanup function and as such, we cannot return anything other than a function from a ref function. Maybe the react types has already updated to reflect that.

adrianorocha-dev avatar Apr 26 '24 20:04 adrianorocha-dev

@adrianorocha-dev Published on #83

eduardoborges avatar Jun 18 '24 18:06 eduardoborges