我在使用react-native onPress Feature时遇到麻烦。onPress仅应在实际由触摸事件触发(我想)时才起作用,也就是说,当我按屏幕上的按钮时。但是,似乎在调用render函数时会触发onPress本身。当我尝试手动按时,它不起作用。
import React, { Component } from 'react';
import { PropTypes, Text, View ,Alert } from 'react-native';
import { Button } from 'react-native-material-design';
export default class Home extends Component {
render() {
return (
<View style={{flex:1}}>
<Button value="Contacts" raised={true} onPress={this.handleRoute('x')} />
<Button value="Contacts" raised={true} onPress={this.handleRoute('y')} />
<Button value="Contacts" raised={true} onPress={this.handleRoute('z')} />
</View>
);
}
handleRoute(route){
alert(route) // >> x , y, z
}
}
module.exports = Home;
我想念什么?我分配的方式有问题吗,或者这是一些错误?任何建议都将受到高度赞赏。
尝试改变
onPress = {this.handleRoute('x')} //在这种情况下,一旦渲染发生,就会调用handleRoute函数
至
onPress = {()=> this.handleRoute.bind('x')} //在这种情况下,不会在渲染发生后立即调用handleRoute
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句