从文档中,设置headerMode
tonone
应该可以解决问题。这将隐藏该 StackNavigator 中定义的所有屏幕上的标题。例子:
const Nav = StackNavigator({
Login: { screen: LoginView },
AddStream: { screen: AddStreamView },
},{
headerMode: 'none',
});
如果您想控制标题的可见性,以便它出现在某些屏幕上而不是所有屏幕上,那么您可以headerMode
为screen
每个单独的屏幕集设置 [the navigation prop for header: { visible: false }
. 请参阅此处的文档。例如,如果您在另一个文件中创建屏幕组件,它可能如下所示:
// In the main file:
const Nav = StackNavigator({
Login: { screen: LoginView },
AddStream: { screen: AddStreamView },
},{
headerMode: 'screen',
});
// Hidden for your Login screen:
export default class LoginView extends Component {
static navigationOptions = {
header: { visible: false }
}
// etc...
}
// Visible for your AddStream screen:
export default class AddStreamView extends Component {
static navigationOptions = {
header: { visible: true }
}
// etc...
}
编辑:错过了问题的第二部分。
要导航到不同的屏幕,您真的应该阅读Hello World 教程,因为它解释了它。具体来说,本节。教程中的相关示例代码:
render() {
const { navigate } = this.props.navigation;
return (
<View>
<Text>Hello, Chat App!</Text>
<Button
onPress={() => navigate('Chat')}
title="Chat with Lucy"
/>
</View>
);
}
在您的情况下,'Chat'
将是'Login'
or 'AddStream'
。