Alguém pode ficar confuso pois ele passou onSubmit como prop e usou a função onSubmit nativa. Assim a onSubmit nativa executa uma função que no final chama OUTRA onSubmit.
Didaticamente teria sido melhor passar um nome diferente, e.g. setUser. Com isso, onSubmit chamaria a função safeSubmit, que no fim irá fazer o setUser.
Espero que isso ajude outros colegas