0

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

按下方法:

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()  {...

所以我很确定还有其他问题,但我不知道是什么。

谢谢!:-)

4

1 回答 1

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

于 2018-01-20T20:09:19.653 回答