Was ist der richtige Typ für Reaktionsereignisse. Anfangs habe ich einfach nur any
verwendet. Jetzt versuche ich, Dinge zu säubern und die Verwendung von any
vollständig zu vermeiden.Typescript: Ereignistypen reagieren
So in einer einfachen Form wie folgt aus:
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>
)
}
}
Welche Art kann ich hier als Ereignistyp verwenden?
React.SyntheticEvent<EventTarget>
scheint nicht zu funktionieren, wie ich einen Fehler, dass name
und value
existieren nicht auf target
.
Allgemeinere Antwort für alle Ereignisse würde wirklich geschätzt werden.
Dank
Was ist ein guter Ort, um über alle gängigen Ereignistypen zu lesen? Kann nirgendwo finden. –
Ereignistypen reagieren? Sie sind alle auf der [Ereignisse Seite in den Dokumenten] (https://facebook.github.io/react/docs/events.html) beschrieben. –
Ich bekomme 'Name' existiert nicht auf den Typ 'EventTarget & HTMLInputElements' (TS v2.4) – Falieson