私はあなたの助けが必要です!私の目標は、クリックした後にボタンのスタイルを変更することです!私はdirect manipulationについて聞いて、それを試してみることにしました。今私は理由を知らないが、TouchableOpacity内のonPressは機能しない。ここでは、コードは次のとおりです。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」がトリガされることはありません。 ありがとうございました!
'TouchableHighlight'に' onPress'を追加し、それがイベントを受け取るかどうかをテストするために何かを出力します。私はそれがすると思う。 – G0dsquad
@ G0dsquad私はすでにそれを行い、TouchableHighlightの中のonPressが機能します。問題は、スタイルを変更したいTouchableHighlightなので、私はそれ内の関数changeStyleを呼び出すことができないということです。また、setNativePropsはコンテナの子でのみ機能します(ここではTouchableOpacityはコンテナ、TouchableHighlightは子です)。 –
あなたは '()'を 'this.changeStyle'に追加してみることができます –