React-Native按钮On Press不起作用

时间:2018-01-20 20:04:16

标签: javascript button react-native onpress

我无法将onPress方法绑定到我的JSX按钮。 我已经尝试了很多不同的解决方案,但没有一个解决方案。

onPress方法:

class ScreenEnterPlayerNames extends Component {

  constructor(props) {
    super(props);
  }

  static navigationOptions = {
    title: 'Player Names',
  };

  onPressStartTheGame = () => {
    console.log("Pushed button Start the Game!")
    //dispatch({ type: ADD_PLAYER_NAME, playerNumber: 5, playerName: "Sandro" })
  }

按钮:

return (
      <View style={styles.viewMain}>
        <View style={styles.viewTxt}>
          <Text style={styles.TxtHeading}>
            Please enter the names in sequence.
          </Text>
        </View>
        <ScrollView style={styles.viewTextBox}>
          {textBoxes}
        </ScrollView>

        <View style={styles.viewButton}>
          <Button
            title='Start the Game!'
            onPress={() => this.onPressStartTheGame}
          />
        </View>
      </View>
    );
  }
}

我也尝试过以下方法:

onPress={this.onPressStartTheGame}
onPress={this.onPressStartTheGame()}
onPress={this.onPressStartTheGame.bind(this)}
onPress={() => this.onPressStartTheGame.bind(this)}

我试图将功能更改为:

onPressStartTheGame()  {...

所以我很确定还有其他问题,但我无法弄清楚是什么。

谢谢! : - )

1 个答案:

答案 0 :(得分:1)

尝试使用此方法

 onPressStartTheGame(){
    console.log("Pushed button Start the Game!")
    //dispatch({ type: ADD_PLAYER_NAME, playerNumber: 5, playerName: "Sandro" })
  }

并将其称为

onPress={this.onPressStartTheGame.bind(this)}

在这里,您可以仔细检查并尝试沙箱中的行为。 https://facebook.github.io/react-native/docs/handling-touches.html