Я занимаюсь разработкой в React Native.
У меня есть FlatList
, который отображает предметы.Я добавил TouchableOpacity
и хотел бы вызвать функцию при нажатии этого элемента, но функция не вызывается.
Когда я нажимаю на элемент, я получаю ошибку не могу найти переменную: _onPress
Я думаю, что это проблема с областью видимости.Может ли кто-нибудь объяснить мне, что идет не так, пожалуйста?
Наверное, второстепенный вопрос: будет ли _onPress
console.log имя элемента, передавая реквизит, как у меня?
export default class ModalScreen extends React.Component {
//..
_onPress = (item) => {
console.log('Clicked:' + item)
};
renderItem({ item }) {
return (
<TouchableOpacity onPress={() => this._onPress(item)}>
<View>
<Text>{item.name}</Text>
</View>
</TouchableOpacity>
)
}
render() {
return (
//..
<View style={{flex: 2, backgroundColor: '#FFF', flexDirection:'row'}} >
<FlatList
data={this.state.searchedItems}
renderItem={this.renderItem}
/>
</View>
//..