0

削除機能を実行して確認する前に、アラート機能を設定しようとしています。

これが私のコードです。これで、予想どおり、タイトル、説明、および 2 つのボタンを含むアラート ポップアップが表示されます。

しかし、アラートが表示された後、マシンは約 1 分間停止しました。何も押せません。

その後、両方のボタンを押すことができますが、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>
4

1 に答える 1

0

変化する

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

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

なぜなら

アロー関数はバインドしませんthis

于 2018-05-13T13:44:39.693 に答える