Parece que não há diferença real
O React, por algum motivo, anexa ouvintes de Component.onChange
ao element.oninput
evento DOM . Veja a nota nos documentos sobre formulários:
React docs - Formulários
Há mais pessoas que se surpreendem com esse comportamento. Para obter mais detalhes, consulte este problema no rastreador de problemas React:
Documente como o onChange do React se relaciona com o onInput # 3964
Cite os comentários sobre esse assunto:
Não entendo por que o React escolheu fazer o onChange se comportar como o onInput. Pelo que posso dizer, não temos como recuperar o antigo comportamento onChange. Os documentos afirmam que é um "nome impróprio", mas não é realmente; ele dispara quando há uma mudança, mas não até que a entrada também perca o foco.
Para validação, às vezes não queremos mostrar erros de validação até que eles terminem de digitar. Ou talvez simplesmente não queiramos renderizar novamente a cada pressionamento de tecla. Agora, a única maneira de fazer isso é com onBlur, mas agora também precisamos verificar se o valor foi alterado manualmente.
Não é grande coisa, mas me parece que o React descartou um evento útil e se desviou do comportamento padrão quando já havia um evento que faz isso.
Concordo 100% com o comentário ... Mas acho que mudá-lo agora traria mais problemas do que resolve, uma vez que já havia muito código escrito que depende desse comportamento.
React não faz parte da coleção oficial de APIs da Web
Embora o React seja construído em cima do JS e tenha visto uma grande taxa de adoção, como uma tecnologia, o React existe para ocultar uma grande quantidade de funcionalidades sob sua própria API (relativamente pequena). Uma vez que a área onde isso é óbvio está no sistema de eventos, onde há muita coisa acontecendo sob a superfície que é radicalmente diferente do sistema de eventos DOM padrão. Não apenas em termos de quais eventos fazem o quê, mas também em termos de quando os dados podem persistir em qual estágio do tratamento de eventos. Você pode ler mais sobre isso aqui:
React Event System