为什么 React native navigation 同时加载所有组件?

Why React native navigation loads all components at the same time?

我正在使用 wix 的 React Native Navigation v2。我有一个带有登录屏幕和注册的欢迎屏幕。我从 App.js 开始 startAuth.js。有登录和注册两个选项卡。

但是一旦应用程序启动,componentWillMount 方法就会在注册屏幕中运行,但我仍在登录选项卡中。

为什么会这样?

react-native-navigation的Tab不支持延迟加载。但是有两个特殊的生命周期函数,当组件在屏幕上出现或消失时,您可以在其中放置逻辑

  • componentDidAppear():每次此组件出现在屏幕上时调用
  • componentDidDisappear():每次此组件从屏幕上消失时调用

https://wix.github.io/react-native-navigation/docs/screen-lifecycle

还有关于话题https://github.com/wix/react-native-navigation/issues/1250的讨论