我无法将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() {...
所以我很确定还有其他问题,但我无法弄清楚是什么。
谢谢! : - )
答案 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