对于iOS已取消Modal时的RN回调

时间:2017-06-09 09:40:29

标签: javascript ios react-native modalviewcontroller

我在我的应用程序中使用React Native组件Modal。当模态被解除时我需要一个回调(比如本机iOS完成块/闭包)。看看文档,我无法找到任何关于它的信息,但可能我错过了一些东西。

2 个答案:

答案 0 :(得分:1)

您应该尝试在Modal componentWillUnmount上触发回调,并在模式关闭后立即触发。不幸的是,模态API不是基于Promise的,即使它应该是,所以这是我找到解决这个问题的唯一方法。

答案 1 :(得分:-1)

从React-Native 0.45开始,Modal组件上没有回调属性可以在关闭时听到。

BTW模态组件是受控组件,由可见属性

控制
visible={this.state.modalVisible} //boolean

当modalVisible = false时,可以使用此状态变量更新更改,即Modal关闭时。

您还可以近似计算模态退出动画时间,并在modalVisible变为false后使用超时功能进行任何更改。

注意:在android中,一般趋势是在按下物理后退按钮时关闭模态,因此你还需要处理' onRequestClose' Modal的属性(您可以处理回调更新)。

检查React-Native Modal Docs