问题描述
当我按下按钮时,我希望它获得button2主题而不是buttondefault。我该怎么做? (我在react-native文档中找不到它,有链接吗?)
export default class deneme extends Component {
constructor(props) {
super(props);
this.state = {
};
}
render() {
return (
<View style={{flex:1,justifyContent:'center',alignItems:'center'}}>
<TouchableOpacity
onPress={() => this.pressme()}
style={styles.buttondefault}>
<Text style={{fontSize:40}}> B </Text>
</TouchableOpacity>
</View>
);
}
}
const styles = StyleSheet.create({
buttondefault:{
width:100,height:50,backgroundColor:'green'
},button2:{
width:50,height:100,});
解决方法
您可以为该按钮设置状态,单击该按钮将更改状态,从而改变样式,如下所示:
constructor(props) {
super(props);
this.state = {
buttonStyle: 'default'
};
}
...
...
<TouchableOpacity
onPress={() => this.pressme()}
style={(this.state.buttonStyle == 'default') ? styles.buttondefault : styles.button2}>
<Text style={{fontSize:40}}> B </Text>
</TouchableOpacity>
...
...
pressme() {
this.setState({buttonStyle: 'button2'});
}