我有一个组件,有时会作为常规屏幕推送到堆栈顶部,有时会显示为模态。

当发生特定事件时,我需要摆脱该组件。但是我不知道它是模态屏幕还是常规屏幕,所以我不知道我是否需要调用 Navigation.pop(componentId)Navigation.dismissModal(componentId) 。有没有办法在打电话之前先检查一下?

我尝试只连续调用两者,但其中一个失败并引发错误。

我可以将它们都包装在 try/catch 中,但这似乎是一种反模式。处理这个问题的推荐方法是什么?

最佳答案

您可以使用 command listener 并跟踪它何时被推送或显示为模态

关于react-native - react 原生导航 : Identify if component is modal,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54461391/

10-13 02:50