onPress调用了load

时间:2016-07-30 10:19:44

标签: react-native

我在onPress方法中添加了一个函数,但是在加载应用程序时会自动触发该函数。我做错了吗?

<TouchableHighlight onPress={this.showMenu()}>
   <View></View>
</TouchableHighlight>

showMenu(){
   this.state.showMenu = true;
}

4 个答案:

答案 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){
}