反应本机,错误地设置状态中的项目值

React Native, setting value of item in state incorrectly

本文关键字:状态 项目 设置 本机 错误      更新时间:2023-09-26
    constructor(props) {
            super(props);
            this.state = {
              message: "..",
            };
    }
    render() {
      return (
          <View style={styles.container}>
            <View style={styles.textInput}>
              <TextInput onChangeText={(message) => this.setState({message})} placeholder="Enter your message..." style={styles.text}/>
              <TouchableHighlight style={styles.button} onPress={this.submit}>
                <Text ref="message" onPress={this.submit}>Submit</Text>
              </TouchableHighlight>
            </View>
          </View>
        )
    }
    loadData(){
      AlertIOS.alert(this.state.message);
    }
    componentDidMount(){
      this.loadData()
    }
    submit(){
      AlertIOS.alert(this.state.message);
    }

首次调用 loadData 时,它显示消息的当前值:".."

当我的submit函数被调用时,它会抛出一个错误:undefined is not an object (evaluating 'this.state.message')

我假设是我的onChangeText属性将消息设置为未定义,但我不确定为什么。

问题是thissubmit()中没有正确绑定

在构造函数中,尝试添加以下行:

this.submit = this.submit.bind(this);