【问题标题】:react-native-navigation: release screens after usereact-native-navigation:使用后释放屏幕
【发布时间】:2018-03-28 18:41:06
【问题描述】:

问题描述

尚不清楚如何取消注册屏幕。 使用 redux 时,似乎在使用 startSingleScreenApp 和 startTabBasedApp 时,触发应用程序的初始屏幕保留在内存中,这导致它在(我假设)屏幕应该被释放时继续接收道具。

复制步骤/代码片段/屏幕截图

  1. startSingleScreenApp - 登录屏幕
  2. startTabBasedApp - 登录时的主屏幕(期望登录屏幕从堆栈中删除)
  3. startSingleScreenApp - 登录屏幕(期望主屏幕被移除(期望主屏幕被移除,而不是重复登录屏幕的实例化))

我该如何解决这个问题?

【问题讨论】:

    标签: react-native-navigation wix-react-native-navigation


    【解决方案1】:

    我通过在登录屏幕中实现shouldComponentUpdate 解决了这个问题。它感觉不是一个可靠的解决方案,但它确实有效。不过,我并不真正赞成将未使用的屏幕留在内存中。

    对于注销,我想要走的路是从堆栈中弹出“主”屏幕。

    【讨论】:

    • 本机组件(iOS 上的控制器,Android 上的布局)在不再使用屏幕时被清除。您有责任在 componentWillUnmount 中清除 refs 并取消注册听众。
    猜你喜欢
    • 2022-11-19
    • 2023-04-09
    • 2020-06-29
    • 1970-01-01
    • 2017-12-31
    • 1970-01-01
    • 2021-07-08
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多