【问题标题】:Completion block for dismiss light box关闭灯箱的完成块
【发布时间】:2017-07-05 19:12:31
【问题描述】:

有没有办法在灯箱关闭后立即执行代码?我正在寻找相当于完成块:

Navigator.dismissLightBox();
//wait for it to dismiss and execute code

【问题讨论】:

    标签: react-native react-native-navigation


    【解决方案1】:

    您可以在passProps 中传递回调并在componentwillunmount 中调用该回调

    Navigation.showLightBox({
      screen: "example.LightBoxScreen",
      passProps: {
        onDismiss: () => console.log('dismissed')
      }
    });
    

    【讨论】:

    • 这就是我最终做的,但如果你在灯箱上有几个按钮,你也必须跟踪它。实现起来并不难,但代码看起来有点难看。此外,您正在将代码从按钮的点击道具移动到其父级(屏幕显示为灯箱)onDismiss 块,这根本不是“反应方式”。
    • 为什么还需要处理按钮中的关闭?无论哪种方式,您在灯箱中显示的组件都会被卸载。
    • 因为我想在它从其中一个按钮的点击处理程序中解散后执行这个完成块。
    • 我想我们别无选择。我不喜欢这种方法,但这回答了我的问题,所以我接受了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多