Cum să-i spui TypeScript că event.currentTarget.value al unui input este un număr?


Am un <input type="number">. Cum pot să-i spun asta TypeScript? Așa cum este mai jos, TypeScript crede că event.currentTarget.value este un șir de caractere.

private handleChange = (event: React.MouseEvent<HTMLInputElement>) => {
    this.props.onChange(event.currentTarget.value);
};

Răspuns #1

Scopul tipului de intrare este să servească ca un fel de validare a tastaturii, dar valoarea va fi un șir. Vă rugăm să vedeți acest răspuns

Deci, așa cum a spus @user1283776: folosește event.currentTarget.valueAsNumber

Răspunsul #2

Să îl forțezi să fie un număr, poate?

private handleChange = (event: React.MouseEvent<HTMLInputElement>) => {
    this.props.onChange(+event.currentTarget.value);
};