Ниже приведены коды моей ListView, в основном это список новостей:Выраженного Item Считайте Listview Реагировать Native
<TouchableHighlight
onPress={this.changeTextColor.bind(this)}
underlayColor={"#E8E8E8"}
style={[styles.button]}>
<View style={styles.news_item}>
<Text style={[styles.news_item_text,{color:this.state.color}]}>{news.title}</Text>
</View>
</TouchableHighlight>
changeTextColor(){
console.log('clicked');
this.setState({
color: '#ffffff'
});
}
То, что я пытался сделать то, что после нажатия на новость, цвет текста будет изменено с помощью changeTextColor().
Как-то цвет не изменится, любая идея?
'' щелкнул', появляется в консоли? у вас есть метод 'shouldComponentUpdate'? – FuzzyTree
не использовать '.bind (this)'. Пожалуйста, прочитайте эту статью [Не используйте привязку при передаче реквизитов] (https://daveceddia.com/avoid-bind-when-passing-props/) – stereodenis
, даже если это действительно сработало, я ожидал бы, что нажатие любого элемента списка изменит все элементы списка на белый, поскольку все они сопоставляются с {this.state.color}. Я думаю, вам нужно будет обновить источник данных своего списка, чтобы добавить «isRead», а затем использовать это, чтобы решить, какой цвет отображать. –