React Native" this.setState不是函数"

时间:2016-10-05 18:51:46

标签: javascript binding react-native

我从反应本机开始尝试将某些操作绑定到类方法,但是我发现了一些关于未找到的方法的错误。

我试过绑定:

class AccountsScreen extends Component {
  constructor (props) {
    super(props)
    this.userChange = this.userChange.bind(this)
    this.state = {
      user: '',
      password: ''
    }
  }
  render () {
    return (
      <View>
      <Text>Pass</Text>
      <TextInput
          onChange={this.userChange}
      />
      </View>
    )
  }
  userChange (user) {
    this.setState({user: user})
  }
}

和箭头功能

class AccountsScreen extends Component {
  constructor (props) {
    super(props)
    this.state = {
      user: '',
      password: ''
    }
  }
  render () {
    return (
      <View>
      <Text>Pass</Text>
      <TextInput
          onChange={(user) => this.userChange(user)}
      />
      </View>
    )
  }
  userChange (user) {
    this.setState({user: user})
  }
}

但我一直收到同样的错误:

  

&#34; this.setState不是函数&#34;

完全陷入困境。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

实际上这是一个愚蠢的错误。我使用onChange而不是onChangeText方法......

答案 1 :(得分:-1)

实际上不需要设置一个功能来设置你的状态,你可以这样做

<TextInput onChangeText={(user) => this.setState({user: user})} />