当我使用时
Alert.alert(
'Incomplete',
'Please make sure all required fields are filled before signing.'
);
在我的 React Native 应用程序中,该应用程序出乎意料地令人耳目一新。
即使向用户显示警报,警报的背景也会瞬间从当前屏幕切换到应用程序的启动屏幕。
消除警报后,应用程序不会停留在触发警报的屏幕上,而是导航到初始屏幕,就像刷新了一样。
"react-native": "0.73.1"
您面临的问题可能是由于您使用的是react-native库中的Alert.alert,这是一个阻塞调用。当您调用 Alert.alert 时,它会显示警报,但也会阻止其后的任何代码的执行。在您的情况下,这意味着警报解除后,应用程序将导航回初始屏幕。
您可以使用不同的方法来显示警报
import React, { useState } from 'react';
import { Button, Alert } from 'react-native';
const App = () => {
const [showAlert, setShowAlert] = useState(false);
const handlePress = () => {
setShowAlert(true);
};
const handleDismiss = () => {
setShowAlert(false);
};
return (
<>
<Button title="Show Alert" onPress={handlePress} />
{showAlert && (
<Alert
title="Incomplete"
message="Please make sure all required fields are filled before signing."
onDismiss={handleDismiss}
/>
)}
</>
);
};
export default App;