我需要你的帮助!我的目标是在点击按钮后改变按钮的样式!我听说direct manipulation,我决定试一试。现在我不知道为什么,但是我的TouchableOpacity中的onPress不起作用。下面是代码:onPress在TouchableOpacity不会触发
<TouchableOpacity onPress={() => this.changeStyle}>
<TouchableHighlight style={styles.answer} ref="answer1">
<Text ...> Some Text </Text>
</TouchableHighlight>
</TouchableOpacity>
,这里是我的changeStyle功能:
changeStyle() {
this.refs['answer1'].setNativeProps({
style: { backgroundColor: "#13a88a"}
});
}
现在我不知道为什么,但“onPress”永远不会触发。 谢谢你的回答!
添加'onPress'到'TouchableHighlight'和输出的东西来测试是否这需要该事件。我怀疑它会这样做。 – G0dsquad
@ G0dsquad我已经做到了,里面TouchableHighlight的onPress工作。问题是我不能调用里面的函数changeStyle,因为它是我想改变风格的TouchableHighlight。而setNativeProps只适用于容器的孩子(这里的TouchableOpacity是容器,TouchableHighlight是孩子)。 –
可以请你加入'()''到this.changeStyle' –