按下按钮不工作反应原生

时间:2018-01-10 14:17:02

标签: react-native

我不知道为什么我无法访问onButtonPress函数! 我发出警告调试代码,但它从未进入函数会话。 我正在关注stephen grider的完整反应native和redux课程,但不知何故,这段代码对我不起作用。

 <Button onPress={this.onButtonPress.bind(this)}>
       Log in!
 </Button>

onButtonPress() {
    const { email, password } = this.state;
    console.warn('Pressed');
    firebase.auth().signInWithEmailAndPassword(email, password)
    .catch(() => {
      console.warn('new authentication');
      firebase.auth().createUserWithEmailAndPassword(email, password)
      .catc`enter code here`h(() => {
        console.warn('error auth');
        this.setState({ error: 'Authentication Failed.' });
      });
    });
  }

1 个答案:

答案 0 :(得分:1)

我前段时间做了同样的课程。您的按钮需要返回:

renderButton() {
  //Show the loading spinner if loading is true
  if (this.state.loading) {
    return <Spinner size="small" />;
  }

  //Otherwise show the log in button
  return (
    <Button onPress={this.onButtonPress.bind(this)}>
      Log in
    </Button>
  );
}

然后在jsx中调用renderButton。 如果这有帮助,请告诉我!