React Native Alert.Android 上的警报刷新应用程序

问题描述 投票:0回答:1

当我使用时

Alert.alert(
    'Incomplete',
    'Please make sure all required fields are filled before signing.'
);

在我的 React Native 应用程序中,该应用程序出乎意料地令人耳目一新。

即使向用户显示警报,警报的背景也会瞬间从当前屏幕切换到应用程序的启动屏幕。

消除警报后,应用程序不会停留在触发警报的屏幕上,而是导航到初始屏幕,就像刷新了一样。

"react-native": "0.73.1"

javascript android react-native alert
1个回答
0
投票
  • 您面临的问题可能是由于您使用的是react-native库中的Alert.alert,这是一个阻塞调用。当您调用 Alert.alert 时,它会显示警报,但也会阻止其后的任何代码的执行。在您的情况下,这意味着警报解除后,应用程序将导航回初始屏幕。

  • 警报:https://reactnative.dev/docs/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;
    
© www.soinside.com 2019 - 2024. All rights reserved.