Nativebase React Native 为啥我不能在输入中传递一个数字
Posted
技术标签:
【中文标题】Nativebase React Native 为啥我不能在输入中传递一个数字【英文标题】:Nativebase React Native why can't i pass a number on an inputNativebase React Native 为什么我不能在输入中传递一个数字 【发布时间】:2020-11-17 10:33:21 【问题描述】:我正在使用 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);
【问题讨论】:
因为在您的代码中。你初始化变量的类型是数字。但在 InputText 中,输出始终是一个字符串。您可以将输出转换为数字或将变量更改为字符串,以便修复它 【参考方案1】:您将target
状态声明为数字,onChangeText
中的参数始终是字符串。因此,首先将该数字状态分配为输入中的字符串,当值发生变化时将其转换为数字,如下所示:
<Input
keyboardType="numeric"
onChangeText=(text) => setTarget(parseInt(text, 10)) // conver to number
value=target.toString() // convert to string
/>
【讨论】:
这个解决方案应该是官方文档的一部分,创建数字输入是一个很常见的任务,但这是迄今为止我见过的最干净的解决方案以上是关于Nativebase React Native 为啥我不能在输入中传递一个数字的主要内容,如果未能解决你的问题,请参考以下文章
Nativebase React Native 为啥我不能在输入中传递一个数字
Native Base Picker [React Native] 项目的条件渲染