Touchable Opacity onPress не может вызвать функцию - проблема с областью видимости? - PullRequest
0 голосов
/ 24 февраля 2019

Я занимаюсь разработкой в ​​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>

    //..

1 Ответ

0 голосов
/ 24 февраля 2019

попробуйте изменить этот 'renderItem ({item}) {' with this 'renderItem = ({item}) => {

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...