Nativebase React Native 为什么我不能在输入上传递数字

Nativebase React Native why can't i pass a number on an input

我正在使用 React Native NativeBase,我想将一个数字传递给我的输入值,但我收到一个错误,提示我无法将数字传递给字符串。

<Input
          keyboardType="numeric"
          onChangeText={(text) => setTarget(text)}
          value={target}
        />

现在如果我这样做。

<Input
          keyboardType="numeric"
          // onChangeText={(text) => setTarget(text)}
          value={"target"}

错误消失。 这是值的定义

const [target, setTarget] = useState<number>(0);

您将 target 状态声明为数字,onChangeText 中的参数始终为字符串。因此,首先将该数字状态分配为输入中的字符串,当值发生变化时将其转换为数字,如下所示:

<Input
  keyboardType="numeric"
  onChangeText={(text) => setTarget(parseInt(text, 10))} // conver to number
  value={target.toString()} // convert to string
/>