私がやったやり方は、ヘッダーを押すと不透明度は変わりますが、クロムデバッガーコンソールには何も記録されません。 this.renderHeaderへReact Native:TouchableHighLight onPressがListViewのrenderHeaderメソッドで機能していません
onHeaderPressed() {
console.log('onHeaderPresseded is called');
}
renderHeader() {
return (
<TouchableOpacity
style={styles.header}
onPress={this.onHeaderPress}
activeOpacity={0.6}
underlayColor={'blue'}>
<View>
<Text>
Click here
</Text>
</View>
</TouchableOpacity>
);
}
render() {
return (
<ListView
style={styles.container}
renderHeader={this.renderHeader}
dataSource={this.state.dataSource}
renderRow={(item) => this.renderListItem(item)}
/>
);
}
'renderHeader'メソッドの' TouchableOpacity'の中の ''の周りの' 'ラッパーを削除してみてください。それはあなたのための解決策になります。 –
おそらく、関数を 'バインドする '必要があります。 'onPress = {this.onHeaderPress.bind(this)}'のようなものがあなたのために仕事をするはずです。 –
@BilalBudhani私は、onHeaderPress内に小道具/状態がないと思うので、これをバインドする必要はありません。しかし、私はそれが動作しないことを試みた、それはコンポーネントのバグの場合は確信していません..... – jyhk