在我们的应用程序中,如果我们的一个API调用返回用户未经授权,我们假设用户已注销并将其带回登录屏幕。由于基于Web套接字等的后台刷新,这可能随时发生...包括屏幕上任意数量的本机UI对话框式组件,包括警报,Android日期/时间选择器,iOS操作表,相机选择器等当发生这样的事件时,有没有办法确保这些事情被解雇?
不确定所有这些,但我可以确认在React Navigation中从堆栈中解除视图后,警报,操作表和相机选择器UI仍保留在iOS中的屏幕上。在某些情况下,有人建议创建一个纯JavaScript组件来替换其中一些本机模态(如视图顶部的叠加层看起来像一个警报,但实际上只是当前视图的一个子视图)。但是,替换100%的这些原生模态组件似乎是不可能/非常困难的。即使我更换了警报和操作表,我还是留下了相机/照片选择器,我真的不想构建我自己的版本。
答案 0 :(得分:-1)
这可能有所帮助 - React Native v0.50.0为onDismiss
添加Modal
道具,允许您传递一个在模态被解除后将被调用的函数。
点击此处查看更新的文档:http://facebook.github.io/react-native/releases/0.51/docs/modal.html#ondismiss
如果你对此感到好奇,那就是做出改变的公关:https://github.com/facebook/react-native/commit/a389ffbd84224b583e71cf7c1468409cbc91ec8e