React Native Navigation:识别组件是否是模态的

React Native Navigation: Identify if component is modal

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

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

我试着连续调用两个,但其中一个失败并抛出错误。

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

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