我在选项卡更改上重新渲染组件时遇到问题,并且显然添加lazyLoad: true
导航选项解决了它。
但我不太明白它是如何工作的......特别是在那之前,我遇到了另一个问题并添加lazy: true
选项解决了它。
所以我的问题是,两者之间有什么区别以及它们在反应导航中的工作方式:)
有两个主要版本react navigation
,
反应导航-v1 https://v1.reactnavigation.org/docs/getting-started.html and 反应导航-v2 https://reactnavigation.org/docs/en/getting-started.html
When react-navigation
加载导航器,例如TabNavigator
,它尝试渲染该导航器内的所有屏幕。
For react-navigation-v1
: 当。。。的时候TabNavigator
安装在屏幕上,它尝试将其内部配置的所有屏幕/组件一次推送到 UI。因此,为了避免这种行为,在TabNavigator
选项,lazyLoad: true
or lazy: true
通过,因此可以根据需要渲染屏幕/组件。
Until react-navigation 1.0.0-beta9
, lazyLoad: true
曾经使用过,但现在已经稳定了,lazy: true
用来。
For react-navigation-v2
: TabNavigator
and createTabNavigator
已弃用,您将始终收到黄屏错误,因此请使用createBottomTabNavigator
and/or createMaterialTopTabNavigator
. The lazy
选项适用于TabNavigator
and createTabNavigator
, createBottomTabNavigator
has lazyLoading
内置选项,但是createMaterialTopTabNavigator
似乎有越野车,lazy
选项不起作用。
我希望这回答了你的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)