React native 在React Native中使用TextInput创建数字转换器

React native 在React Native中使用TextInput创建数字转换器,react-native,React Native,我正在尝试使用文本输入和2个触摸高光“+”和“-”创建一个数字递增/递减器 我还将textValue设置为getInitialState函数中的状态,并将其设置为0 为什么这不起作用,我做错了什么?似乎TextInput不支持值是数字。我在TextInput的值上加了一个.toString(),一切都按预期开始工作。此外,您还需要在更改时将字符串值转换为数字,因为更改时TextInput会传递字符串 新的更新方法: updateText: function (text) { this.s

我正在尝试使用文本输入和2个触摸高光“+”和“-”创建一个数字递增/递减器

我还将textValue设置为getInitialState函数中的状态,并将其设置为0


为什么这不起作用,我做错了什么?

似乎TextInput不支持值是数字。我在TextInput的值上加了一个.toString(),一切都按预期开始工作。此外,您还需要在更改时将字符串值转换为数字,因为更改时TextInput会传递字符串

新的更新方法:

updateText: function (text) {
    this.setState({textValue: +text});
},
新的文本输入:

<TextInput
    keyboardType='number-pad'
    value={this.state.textValue.toString()}
    onChangeText={this.updateText}
    style={styles.textInput}
/>


似乎TextInput不支持值为数字。我在TextInput的值上加了一个.toString(),一切都按预期开始工作。此外,您还需要在更改时将字符串值转换为数字,因为更改时TextInput会传递字符串

新的更新方法:

updateText: function (text) {
    this.setState({textValue: +text});
},
新的文本输入:

<TextInput
    keyboardType='number-pad'
    value={this.state.textValue.toString()}
    onChangeText={this.updateText}
    style={styles.textInput}
/>


当您触摸+或-?时,您看到它做了什么?看起来很好。执行一些chrome开发工具调试。@rmevans9嘿,当我单击+时,文本输入中的文本将消失,而-使其附加1(例如:2将变为21)@rmevans9但如果我在a中打印状态,它将完美地执行递增和递减操作:/当您触摸+或-?时,您看到它做了什么?看起来很好。执行一些chrome开发工具调试。@rmevans9嘿,当我单击+时,文本输入中的文本将消失,而-使其附加1(例如:2将变为21)@rmevans9但如果我在a中打印状态,它将完美地执行递增和递减操作:/非常感谢。是的,文本输入有利于字符串。嘿@rmevans9,为什么你写
+Text
这对我来说很有用,但为什么我们要添加
+
?@OliverD
onChangeText
返回字符串。在提供的示例中,状态是一个数字。在字符串使JS将其更改为数字之前执行
+
。这迫使州政府保留一个数字。谢谢。是的,文本输入有利于字符串。嘿@rmevans9,为什么你写
+Text
这对我来说很有用,但为什么我们要添加
+
?@OliverD
onChangeText
返回字符串。在提供的示例中,状态是一个数字。在字符串使JS将其更改为数字之前执行
+
。这迫使国家保持一定的数字。