Quel est le type correct pour les événements React. Au départ, je l'ai juste utilisé any
par souci de simplicité. Maintenant, j'essaie de nettoyer les choses et d'éviter any
complètement l' utilisation .
Donc, sous une forme simple comme celle-ci:
export interface LoginProps {
login: {
[k: string]: string | Function
uname: string
passw: string
logIn: Function
}
}
@inject('login') @observer
export class Login extends Component<LoginProps, {}> {
update = (e: React.SyntheticEvent<EventTarget>): void => {
this.props.login[e.target.name] = e.target.value
}
submit = (e: any): void => {
this.props.login.logIn()
e.preventDefault()
}
render() {
const { uname, passw } = this.props.login
return (
<div id='login' >
<form>
<input
placeholder='Username'
type="text"
name='uname'
value={uname}
onChange={this.update}
/>
<input
placeholder='Password'
type="password"
name='passw'
value={passw}
onChange={this.update}
/>
<button type="submit" onClick={this.submit} >
Submit
</button>
</form>
</div>
)
}
}
Quel type dois-je utiliser ici comme type d'événement?
React.SyntheticEvent<EventTarget>
ne semble pas fonctionner comme je reçois une erreur name
et value
n'existe pas sur target
.
Une réponse plus générale pour tous les événements serait vraiment appréciée.
Merci