以下是学习在 react native 中简单地更改元素 onPress 的样式的第一次尝试。精通网络语言我发现这很困难,因为它不是那么直截了当。
由于未知的原因,该元素需要两次单击才能执行。
export class NavTabItem extends React.Component {
constructor(props) {
super(props);
this.state = {
active: false
}
this.NavTabAction = this.NavTabAction.bind(this)
}
NavTabAction = (elem) => {
elem.setState({active: !elem.state.active})
}
render() {
return (
<TouchableOpacity
style={this.state.active ? styles.NavTabItemSelected : styles.NavTabItem}
onPress={()=> {
this.NavTabAction(this)
}}>
<View style={styles.NavTabIcon} />
<Text style={styles.NavTabLabel}>{this.props.children}</Text>
</TouchableOpacity>
);
}
}
其他问题:
我还没有弄清楚如何在单击时将父级下的其他元素的活动状态设置为 false 的方法。
此外,是否有一种简单的方法可以影响子元素的样式,例如 web.xml 。目前我看不到通过选择器影响子元素的父样式的方法,就像使用 CSS 一样
例如。读取的样式表NavTabItemSelected Text :{ // active style for <Text> }