React-Native:TextInput没有绑定到空字符串

时间:2018-08-16 19:25:24

标签: reactjs react-native react-native-android react-native-ios

我正在为基本的“数学事实”构建一个应用程序,该学生将有60秒的时间来测试其加法,乘法等。

当学生输入正确的数字(与答案相比)时,它将评估答案-相应地评分,然后自动继续下一个问题this.props.selectProblem()只会改变问题和答案-不相关输入。

唯一不起作用的是-当用户键入一个数字的答案时,它不会将TextInput组件设置为空字符串,但是我可以将其设置为任何其他字符串长度,只是不为零(这就是我所需要的)。

两位数答案可以正常工作。

我困惑为什么长度大于0的字符串起作用,除非答案是2位数字。

state = {
    userInput: ""
}

handleInput = (text) => {

    this.setState({ userInput: text}, () => {

    let { userInput } = this.state;
    let { answer } = this.props;

    if (userInput.length === answer.toString().length) {

        if (+userInput === +answer) {
            this.setState({ userInput: "" }, () => {
               // add points for correct
            })
        }
        else {
            this.setState({ userInput: "" }, () => {
               // subtract points for incorrect
            });
        }
    this.props.selectProblem();

    }
})

内部渲染

    <TextInput style={styles.input}
               onChangeText={(text) => this.handleInput(text)}
               value={this.state.userInput.toString()}
               maxLength={this.props.answer.length}
    />

0 个答案:

没有答案