Executando verificação de segurança...
1

Muito bom! Utilizei o imask ao invés de utilizar as funções próprias. É uma lib que utilizo a muito tempo, ela é bem simples e deixa o código mais fácil de entender.

https://github.com/uNmAnNeR/imaskjs

Usei dessa forma para uma mascara de cep por exemplo:

import IMask from 'imask'

const cepPipe = IMask.createPipe({
  mask: '00000-000',
})

<input 
    {...register('cep', {
      onChange: (event) => {
        event.target.value = cepPipe(event.target.value)
      },
    })}
/>
Carregando publicação patrocinada...