当我的onPress是这样的时候:
<Button
onPress={() => this.switchview(newview)}
title="whatever">
</Button>
即使我按下按钮,它也不会被调用。但是当它是这样的时候:
<Button
onPress={this.switchview(newview)}
title="whatever">
</Button>
即使我没有按下按钮,它总是被呼叫。我的目标是在按下按钮时运行它。谢谢你的帮助!
答案 0 :(得分:0)
尝试将onPress放在括号内。
<Button onPress{() => {this.switchview(newview)}}></Button>
按钮标签之间的任何内容通常都会显示为按钮的文本,无论您要添加到按钮的任何属性,都需要放在要声明按钮的括号内。
答案 1 :(得分:0)
在上面的代码中,在将尖括号关闭为<Button>
之后,您正在使用按钮的道具。您应该在下面执行以下操作:
<Button
onPress={() => this.switchview(newview)}
title="whatever">
</Button>
如果有帮助,请告诉我。
答案 2 :(得分:0)
在
constrctor(){
this.switchview = this.switchview.bind(本);
}
点击我
比使用它。 试着让我知道。
答案 3 :(得分:0)
您可以随时使用.bind(...)
:
<Button
onPress={this.switchview.bind(this, newview)}
title="whatever">
</Button>
这会将一个新函数传递给按钮,该按钮的this
等于当前上下文中的this
,并且第一个参数为newview
。
答案 4 :(得分:0)
你可以尝试一下。
<Button onPress={() => this.switchview(newview)}
title="Learn More"/>