首页 > 解决方案 > 将 TextInput 中输入的文本打印到控制台

问题描述

我想将在 TextInput 中输入的值打印到控制台。

以下是我的代码片段:

constructor(props) {
        super(props);
        this.state= {
            textValue: "",
        }
    }
    _textChange = (text) => {
        this.setState({
            textValue: text,
        })
        console.log(this.state.textValue);
}

和:

<TextInput onChange={this._textChange.bind(this)}/>

我知道我的代码有问题,但我无法弄清楚。我只想在 TextInput 中打印输入的文本以在控制台中打印

笔记

我看过这个答案。我无法理解给定链接中的答案。我对 react-native 很陌生。所以请尝试用简单的方式来解释它。

标签: reactjsreact-native

解决方案


您应该使用 onChangeText 而不是 onChange

<TextInput onChangeText={this._textChange}/>

如果将您的方法声明为命名函数,如下所示

    _textChange(text) {
        this.setState({
            textValue: text,
        })
     }

所以你应该使用 bind,因为this关键字不会引用组件范围,但在你的情况下它不是必需的。

请查看本文以了解命名函数和箭头函数之间的区别。


推荐阅读