我在onPress
方法中添加了一个函数,但是在加载应用程序时会自动触发该函数。我做错了吗?
<TouchableHighlight onPress={this.showMenu()}>
<View></View>
</TouchableHighlight>
showMenu(){
this.state.showMenu = true;
}
答案 0 :(得分:5)
你做错了。您应该只在onPress上绑定方法。但你是在呼唤它。将onPress更改为
onPress = {this.showMenu.bind(本)}
答案 1 :(得分:1)
您实际上是在onPress指令中执行该函数。
你应该使用
onPress={this.showMenu}
如果没有括号,只有当用户触发时,该函数才会在加载时触发。
答案 2 :(得分:1)
对于那些有相同问题,但需要传递数据的人,请在bind函数中添加要作为第二个参数传递的数据:
onPress={this.showMenu.bind(this, data)}
答案 3 :(得分:0)
如果有人想动态加载TouchableOpacity并希望传递多个参数,请使用以下内容:
onPress={this.showMenu.bind(this, data1 , data2 ,data3)}
showMenu(data1,data2,data3){
}