Eva*_*nss 6 typescript react-native expo
我有一个使用 TypeScript 的 React Native Expo 项目。如何为 的onChange事件添加类型TextInput?
<TextInput
keyboardType="numeric"
value={`${value}`}
onChange={(e: React.FormEvent<HTMLInputElement>): void => {
set({ value: e.target.value });
}}
/>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
TS2339:类型“EventTarget”上不存在属性“value”
小智 18
事件的类型是 NativeSyntheticEvent<TextInputChangeEventData>
您可以从“react-native”导入这两个。
它有一个名为 nativeEvent 的道具,还有文本。
import { View, TextInput, NativeSyntheticEvent, TextInputChangeEventData } from "react-native";
...
const onChange = (e: NativeSyntheticEvent<TextInputChangeEventData>): void => {
const value = e.nativeEvent.text;
doStuff(value);
}
...
<TextInput onChange={onChange} />
Run Code Online (Sandbox Code Playgroud)