我正在寻找一种仅对我的应用隐藏第一个标签上的标签栏的方法。
[编辑更多详细信息]
我已经尝试过了:
Navigation.setRoot({
root: {
bottomTabs: {
id: "BottomTabsId",
children: [
{
stack: {
children: [
{
component: {
name: "HomeScreenController",
passProps: {
client,
user
}
}
}
],
options: {
bottomTabs: {
visible: false,
drawBehind: true,
translucent: true
},
bottomTab: {
text: _strings.home,
icon: _images.tabIcons.home,
testID: "FIRST_TAB_BAR_BUTTON"
}
}
}
}, ...
结果是选项卡栏显示在初始屏幕上,然后在我切换到另一个选项卡(以编程方式完成切换)时实际上隐藏了,这与我想要的相反。
我也尝试过在堆栈和bottomTab之间使用setRoot
。然后,我在index0处有一个组件,该组件仅侦听选项卡切换到索引0,然后再执行setRoot
进入堆栈布局。从堆栈布局中,我有一些按钮可以setRoot
返回到所选索引处的bottomTabs。这样做的麻烦在于,每次我setRoot
时,都需要重新加载应用程序,这比需要的要慢一些。另外,我正在听的制表符开关组件似乎并没有留下内存,而我每次输入setRoot
时放置在其中的console.log都会不断堆积。