gpt4 book ai didi

react-native - 如何在 React Native 上动态隐藏 TabNavigator

转载 作者:行者123 更新时间:2023-12-04 17:29:17 30 4
gpt4 key购买 nike

所以我有一个带有 React Native Navigator 的应用程序,我为我的应用程序计划的是在用户首次启动该应用程序时显示一个教程,我使用 react-copilot对于它来说,它工作得非常好,但问题是,React copilot 需要时间来启动,并且它在 react-navigator 之前启动。

问题是用户可以单击导航器从而破坏教程甚至导致系统崩溃,因为教程没有正确启动。

我计划在教程尚未开始时动态禁用导航器。这是 appNavigation

上的 navigationOptions 的代码片段
TabMenu.navigationOptions = ({ navigation, screenProps }) => {
const childOptions = getActiveChildNavigationOptions(navigation, screenProps);
return {
title: childOptions.title,
tabBarVisible: childOptions.tabBarVisible,
header: null
};
};

这是组件的静态值

static navigationOptions = {
tabBarVisible: false
}

它有效,但问题是当教程结束并且我将静态值设置为 true 时,tabBar 没有出现。有什么办法解决这个问题吗?

提前致谢

编辑:我需要澄清的是,我需要的是在某些事件(在本例中为教程)完成后使标签栏在同一页面中出现和消失,而无需重新加载/导航到同一页面

最佳答案

这就像加布里埃尔的回答

static navigationOptions = ({ navigation, screenProps }) => {
const { tabBarVisible = true } = navigation.state.params
? navigation.state.params
: {};
return {
tabBarVisible: tabBarVisible
};
};

将导航选项放在任何选项卡项内,并像这样更新 tabBarVisible 属性。

this.props.navigation.setParams({
tabBarVisible: false
});

关于react-native - 如何在 React Native 上动态隐藏 TabNavigator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61122629/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com