如何在反应天然使用反应导航
问题描述:
我有一个登录屏幕,当用户登录他们被带到类似于上面所示的一个屏幕同时添加搜索栏和标签按钮。
在此屏幕中,我有一个tabNavigator,其中包含5个屏幕的选项卡,类似于上图中显示的选项卡。它也有一个标题有点与搜索栏中的东西。这个标题只应该显示在5个标签中的4个,并且我需要在第5个标签中显示不同的标题。
有没有办法做到这一点?我知道我可以在5个标签中的4个标签中添加一个视图,这个标签在第5个屏幕中呈现相同的标题和视图,呈现不同的标题,但我想知道是否有一种方法可以做到这一点,而不必呈现相同一次又一次查看所有4个选项卡。在FifthPage
const TabNav = TabNavigator({
First: { screen: FirstPage },
Second: { screen: SecondPage },
Third: { screen: ThirdPage },
Fourth: { screen: FourthPage },
Fifth: { screen: FifthPage }
}, {
navigationOptions: {
header: <SearchHeader />
}
})
然后定制navigationOptions
:
PS应该在iOS和Android的合作
答
您可以通过navigationOptions
配置的TabNavigator
header
class FifthPage extends Component {
static navigationOptions = {
header: <FifthPageHeader />
}
}
我只是在Expo Snack上创建了一个演示:https://snack.expo.io/rJDGpmPHZ,第5个屏幕有一个蓝色的h埃德尔,其他人有一个红色的。
在TabNavigator
的文档https://reactnavigation.org/docs/navigators/tab#Screen-Navigation-Options,它没有列出header
选项,我认为它会传递到StackNavigator
。
你是如何将标题传递给tabNavigator的,如果它不可能的话。我知道它可以在stacknavigator中使用,但是您是如何在Tabnavigator中执行此操作的?我检查了你上传的演示代码,但是当我尝试在我的tabnavigator中放置标题时,它无法正常工作 – Chetan
@Chetan我也想知道如何做到这一点!你有没有找到解决方案!你可以请检查我的问题:https://*.com/questions/46296119/adding-tab-component-in-a-view – Yasir