React hook that exposes IMask object
npm install use-imask
or if you use yarn
yarn add use-imask
const maskOptions = { mask: Number }; // make sure options don't change on each render (use constant or useMemo or ref)
function Example() {
const [value, setValue] = useState("");
const [ ref ] = useIMask(maskOptions, {
// use onAccept callback instead of onChange to change value
onAccept: e => {
setValue(e.target.value);
},
});
return (
<input ref={ref} value={value} />
);
}
name | type | description |
---|---|---|
options | <M extends AnyMaskedOptions> | mask options, when options change updateOptions function is called by the IMask object |
onAccept | (e: ChangeEvent<E>, mask: InputMask<M> | undefined) => void | function called on IMask accept event |
onComplete | (e: ChangeEvent<E>, mask: InputMask<M> | undefined) => void | function called on IMask complete event |
name | type | description |
---|---|---|
ref | RefObject<HTMLInputElement|null> | apply this to your input element |
maskRef | RefObject<InputMask<M> | undefined> | ref with IMask object |