React Native 中 TextInput 的 onChange 事件的 TypeScript 类型

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)