[英]Double header & double mounted main screen - react-navigation
I've been having this problem for a long time and I just can't find an answer for fixing it. 我遇到这个问题已经很长时间了,但找不到解决问题的答案。
Here is an actual screenshot of what is happening. 这是正在发生的情况的实际屏幕截图。
The problems are: 问题是:
1. Back button by default on Newsfeed screen 1.默认情况下,Newsfeed屏幕上的“后退”按钮
2. Double header 2.双头
3. TabBar disappears when navigating to any global screens 3.导航到任何全局屏幕时,TabBar消失
The code itself: 代码本身:
routes.js
const RecordScreen = StackNavigator({
Main: { screen: Record },
Choose: { screen: RecordChoose },
Add: { screen: RecordAdd }
})
const NewsfeedScreen = StackNavigator({
Main: { screen: Newsfeed },
Details: { screen: NewsfeedDetails }
})
export const FriendsScreen = StackNavigator({
Main: { screen: Friends },
List: { screen: FriendList }
})
const Tabs = TabNavigator({
Record: { screen: RecordScreen },
Newsfeed: { screen: NewsfeedScreen },
Friends: { screen: FriendsScreen }
})
// is it correct to nest TabNavigator with StackNavigator like this?
export const LoggedIn = StackNavigator({
Main: { screen: Tabs },
// global Screens
Gallery: { screen: Gallery },
Profile: { screen: Profile },
Settings: { screen: Settings }
})
export const LoggedOut = StackNavigator({
Welcome: { screen: Welcome },
SignIn: { screen: SignIn },
SignUp: { screen: SignUp }
})
index.js
import React, { Component } from 'react'
import { LoggedIn, LoggedOut } from '@routes'
class Main extends Component {
// of course is not exactly like this,
// just an example
state = {
loggedIn: true
}
render() {
return this.state.loggedIn
? <LoggedIn />
: <LoggedOut />
}
}
Any help is appreciated! 任何帮助表示赞赏! Thank you.
谢谢。
does the following change make things any better? 以下更改会使情况变得更好吗?
from: 从:
export const LoggedIn = StackNavigator({
Main: { screen: Tabs },
// global Screens
Gallery: { screen: Gallery },
Profile: { screen: Profile },
Settings: { screen: Settings }
})
to 至
const doNotShowHeaderOption = {
navigationOptions: {
header: null,
},
};
export const LoggedIn = StackNavigator({
Main: { screen: Tabs, ...doNotShowHeaderOption, },
// global Screens
Gallery: { screen: Gallery },
Profile: { screen: Profile },
Settings: { screen: Settings }
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.