Usei o mais utilizado componente de terceiros para aplicar máscaras em TextInput, mas voltei ao meu próprio formatador de máscaras. Antes disso, tentei alternativas como usar “useCallback” do React, tentei também requestAnimationFrame, além de outras abordagens, mas o resultado é o mesmo.
Se o texto é digitado com o teclado físico, mesmo em modo debug, o texto é digitado rapidamente. Se o texto é digitado com um teclado virtual no Android, é como se o teclado virtual precisasse do TextInput ativo para ele enviar ao TextInput um novo caracter, resultando em um delay e impedindo uma digitação fluida e rápida. Já com o teclado físico é como se o próprio TextInput buscasse no S.O. o texto entrado.
A única solução que encontrei é formatar o texto somente quando ele chegar ao tamanho final para haver uma única re-renderização.
Pelo que observei, não há uma forma do teclado virtual funcionar de forma similar a um teclado físico, mesmo com componentes de terceiros, como o react-native-mask-text.
TextInput, Prop onChangeText e Re-renderizações
L
3 Respostas
D
Qual é a dúvida?
L
Se há uma forma programática, existente e viável para desenvolvedores mobile (não para desenvolvedores de baixo nível), de eliminar esse delay pra não precisar causar apenas uma única re-renderização. Caso sim, qual.
L
Solucao aceita
Depois destas abordagens, ainda deixei de usar “useState”, para não haver re-renderizações, pra usar useRef, alterando apenas a prop text, por achar que o problema era a re-renderização do TextInput. Mas, hoje, resolvi baixar o Microsoft Swiftkey e, tcharam, funcionou como um teclado físico sem delay. Todo esse problema é o funcionamento do Gboard.
Criado 13 de março de 2025
Ultima resposta 28 de mar. de 2025
Respostas 3
Participantes 2
Alura O que é Firebase? Para que serve, principais característica e um Guia dessa ferramenta Google O poder do Firebase! Saiba como a plataforma pode impulsionar suas aplicações web e mobile, descobrindo tudo neste artigo completo.
Casa do Codigo Kotlin com Android: Crie aplicativos de maneira facil e... Por Kassiano Resende — Casa do Codigo