Как использовать setTimeout из react-native внутри функции?

Я хотел бы использовать «setTimeout», чтобы реагировать на собственное приложение, но я не знаю, почему я могу получить ошибку, например, setTimeout не является функцией.

Конечно, я импортировал setTimeout из react-native.

Это мой код ниже

import { setTimeout } from 'react-native';

handleBarCodeScanned = ({ data }) => 
if (data !== this.state.lastScannedUrl) {
  this.setState({ lastScannedUrl: data });
  setTimeout(() => {this.checkQrUrl(data);}, 2000 )
} else if (data === this.state.lastScannedUrl) {
  return;
}

}

checkQrUrl(data) {
if (data === this.state.UniqueQrUrl) {
  this.props.onPress();
  // Alert.alert(`このQR(${data})は、登録されているQR(${this.state.UniqueQrUrl})と同じです`);
} else if (data !== this.state.UniqueQrUrl) {
  Alert.alert('QRコードが違います');
} else {
  Alert.alert('予期せぬ障害が発生しました。前画面に戻って再度お試しください');
}

Может ли кто-нибудь помочь мне, пожалуйста?

Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
1
0
142
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

setTimeout — это функция по умолчанию из JavaScript, например, alert вам не нужно явно импортировать ее из react-native.

удалите этот импорт, и он будет работать нормально.

Удалите ниже импорт из вашего кода:

//    import { setTimeout } from 'react-native';


    handleBarCodeScanned = ({ data }) => 
    if (data !== this.state.lastScannedUrl) {
      this.setState({ lastScannedUrl: data });
      setTimeout(() => {this.checkQrUrl(data);}, 2000 )
    } else if (data === this.state.lastScannedUrl) {
      return;
    }
    }

    checkQrUrl(data) {
    if (data === this.state.UniqueQrUrl) {
      this.props.onPress();
      // Alert.alert(`このQR(${data})は、登録されているQR(${this.state.UniqueQrUrl})と同じです`);
    } else if (data !== this.state.UniqueQrUrl) {
      Alert.alert('QRコードが違います');
    } else {
      Alert.alert('予期せぬ障害が発生しました。前画面に戻って再度お試しください');
    }

setTimeout - это функция из JavaScript, это не реактивный компонент. Так что если вы попытаетесь импортировать из react-native, то получите ошибку.

Другие вопросы по теме