React native 如何在函数中使用react native的setTimeout?
我想使用“setTimeout”来响应本机应用程序,但我不知道为什么会出现setTimeout不是函数之类的错误 当然,我从react native导入了setTimeout 下面是我的代码React native 如何在函数中使用react native的setTimeout?,react-native,expo,React Native,Expo,我想使用“setTimeout”来响应本机应用程序,但我不知道为什么会出现setTimeout不是函数之类的错误 当然,我从react native导入了setTimeout 下面是我的代码 import { setTimeout } from 'react-native'; handleBarCodeScanned = ({ data }) => if (data !== this.state.lastScannedUrl) { this.setState({ lastScann
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;
}
}
有人能帮帮我吗?
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('予期せぬ障害が発生しました。前画面に戻って再度お試しください');
}
是来自JavaScript的函数,而不是其本机组件。因此,如果您试图从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('予期せぬ障害が発生しました。前画面に戻って再度お試しください');
}