我需要你的帮助!我的目标是在点击它之后改变我按钮的样式!我听说direct manipulation,我决定尝试一下。现在我不知道为什么但是我的TouchableOpacity中的onPress不起作用。这是代码:
<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'永远不会被触发。 谢谢你的回答!
答案 0 :(得分:5)
如果你想使用&#39; this.changeStyle`来执行这个功能,你可以这样写你的onPress:
<TouchableOpacity onPress={this.changeStyle}/>
如果你要在执行this.changeStyle
的onPress道具中传递一个函数,那就写下你的onPress:
<TouchableOpacity onPress={() => this.changeStyle()}/>
P.S:为什么<TouchableHighlight/>
内有<TouchableOpacity/>
?只需使用一个并在其上添加onPress道具。
答案 1 :(得分:1)
您需要从TouchableOpacity
导入react-native
,而不是从react-native-gesture-handler
导入。 react-native-gesture-handler
中的版本已100%损坏。 react-native
中的版本有效。