Javascript react本机onPress事件在循环中不工作

Javascript react本机onPress事件在循环中不工作,javascript,reactjs,react-native,reactive-programming,hybrid-mobile-app,Javascript,Reactjs,React Native,Reactive Programming,Hybrid Mobile App,我的班级代码 问题是onPress函数,如果我在循环中使用它,则给出以下错误 如果我使用这行代码,什么也不会发生 我知道这与装订有关,我没有得到善意的帮助 导出默认类PlayGame扩展组件{ 导航(路由名称){ 这个是.props.navigator.push({ 名称:路由名称 }) } 按按钮(){ 警报(“你点击了按钮!”); } render(){ //var selectedLetter=Globals.URDU字母[Math.floor(Math.random()*Globals

我的班级代码

问题是onPress函数,如果我在循环中使用它,则给出以下错误

如果我使用这行代码,什么也不会发生

我知道这与装订有关,我没有得到善意的帮助

导出默认类PlayGame扩展组件{
导航(路由名称){
这个是.props.navigator.push({
名称:路由名称
})
}
按按钮(){
警报(“你点击了按钮!”);
}
render(){
//var selectedLetter=Globals.URDU字母[Math.floor(Math.random()*Globals.URDU字母.length)];//将在应用程序为MVP时使用
//添加所选阵列
var selectedLetter=Globals.URDU_字母[1];
var randLetters=shuffle(随机字母(Globals.URDU_字母,selectedLetter));
播放selectedLetter(selectedLetter.name);
报税表(
{Object.keys(randLetters).map(函数(键,索引){
返回此。onPressButton()}>
{随机字母[key].name}
}
)}
按钮
);
}

您必须将其绑定到组件上下文:

export default class PlayGame extends Component {

    constructor(props) {
        super(props);

        this.onPressButton = this.onPressButton.bind(this)
    }
}

必须将其绑定到组件上下文:

export default class PlayGame extends Component {

    constructor(props) {
        super(props);

        this.onPressButton = this.onPressButton.bind(this)
    }
}
尝试更改:

Object.keys(randLetters).map(function(key,index) {
致:

您可以在类构造函数中绑定,也可以在render中使用这两种方式绑定

{this.onPressButton.bind(this)}        {() => this.onPressButton()}
尝试更改:

Object.keys(randLetters).map(function(key,index) {
致:

您可以在类构造函数中绑定,也可以在render中使用这两种方式绑定

{this.onPressButton.bind(this)}        {() => this.onPressButton()}

谢谢,但这并不能解决问题。获取以下未定义的错误不是对象(评估此对象。onPressButton.bind)您是否尝试在构造函数中绑定它?我是新手,不熟悉react native。如果您能给我一个示例,我如何才能做到这一点!谢谢,但上面的解决方案对我有效,我也尝试过这个,但不幸的是它对我无效。谢谢,但这并不能解决问题。得到以下错误未定义不是一个对象(评估这个。onPressButton.bind)你尝试过在构造函数中绑定它吗?我是新的反应本机如何做,如果你能给我一个例子!谢谢,但上面的解决方案对我有效,我也尝试了这个,但不幸的是,它对我无效。谢谢这对我有效对象。键(随机字母)。映射((键,索引)=>{但是这是如何通过更改syntex!Arrow函数将其上下文更改为外部作用域的,因此在本例中,作用域将是类。感谢这对我有用对象。keys(randLetters)。map((key,index)=>{但是这是如何通过更改syntex!Arrow函数将其上下文更改为外部作用域的,因此在本例中,作用域将是类
{this.onPressButton.bind(this)}        {() => this.onPressButton()}