React Native Alert crash (ошибка) Удалить конформацию - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь установить функцию оповещения перед запуском функции удаления для подтверждения.

Вот мой код. Теперь это показывает всплывающее окно с заголовком, объяснением и двумя кнопками, как я и ожидал.

Однако после появления предупреждения машина остановилась примерно на одну минуту. Я не могу ничего нажать.

После этого я могу нажать обе кнопки, но ничего не происходит - ни console.log, ни функция удаления.

Как я могу это исправить? спасибо

import React from 'react';
import { StyleSheet, View, Text, TouchableOpacity, Alert } from 'react-native';
import CircleButton from '../elements/CircleButton';


  handlePress() {
const { currentUser } = firebase.auth();
const db = firebase.firestore();
db.collection(`users/${currentUser.uid}/friends`).doc(this.state.key).delete()
  .then(() => {
    console.log('Deleted');
    this.props.navigation.goBack();
  })
  .catch((error) => {
    console.log(error);
  });
  }

...

    <CircleButton
      style={styles.funcButton}
      onPress={()=>{
        Alert.alert(
          'Are you sure to delete?',
          'never recover',
          [
            {text: 'Cancel', onPress: () => console.log('Cancel Pressed'), style: 'cancel'},
            {text: 'Delete', onPress: () => this.handlePress.bind(this), style: 'destructive'},
          ],
          { cancelable: false }
        )
      }}>
      {'\uf1f8'}
    </CircleButton>

1 Ответ

0 голосов
/ 13 мая 2018

Изменить

{text: 'Delete', onPress: () => this.handlePress.bind(this), style: 'destructive'},

на

{text: 'Delete', onPress: this.handlePress, style: 'destructive'},

Поскольку

функции стрелок не связывают this.

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