bounty还有2天到期。此问题的答案有资格获得+50声望奖励。Happy正在寻找一个答案从一个有信誉的来源。
我在我的android手机上显示了一个使用react原生代码的警报对话框。
当用户单击屏幕上的按钮时,将显示此信息。
Alert.alert(
title,
message,
[
{
text: buttonNegativeText,
style: 'cancel',
onPress: () => {
onNegativePress();
},
},
{
text: buttonPositiveText,
style: positiveStyle,
onPress: () => {
onPositivePress();
},
},
],
{cancelable: cancelable},
);
};
一旦用户离开应用10秒(例如),就会有一个来自本机代码的事件,该事件将注销应用。当应用程序被注销,这意味着现有的屏幕将被移动,新的登录屏幕将显示。
发生的事情是,警报对话框仍然在新屏幕中。我想在屏幕移动时关闭警报对话框。
有一件事,我们可以做的是,我们应该从本地监听事件并关闭对话框。
但是,当当前屏幕移动到其他屏幕时,现有屏幕的警报屏幕是否会自动关闭。
我不确定我是否问了正确的问题。请帮忙。
4条答案
按热度按时间pqwbnv8z1#
您不能以编程方式关闭本机警报https://github.com/facebook/react-native/issues/4928
bvjxkvbb2#
在React Native Alert Doc上可以看到,无法通过编程关闭警报。而且没有示例对象来处理从native到react native的alert对话框。
如果您真的希望在应用中使用原生警报,您可以创建自定义原生代码来显示原生警报**,然后根据某些逻辑暴露方法以隐藏当前示例**。
pengsaosao3#
您可以使用addListeners监听导航,并尝试useEffect,如下所示:
这样,我们就可以在导航发生时取消订阅警报通知。
lyr7nygr4#
您可以使用useIsFocused