Igo*_*ins 6 reactjs react-native react-navigation stack-navigator
我有一个StackNavigation并想要一个默认的Header(组件标题),并希望"深页"显示为React Navigation生成的默认标题.
在我的索引页面中**Index**,只需要Header组件(第一个标题)...但是显示另一个空白标题:
在我的"深度页面"中**Teste**只需要RNav自动生成的标题和后退按钮(第二个标题)......但是第一个标题显示出来.
这是我的导航配置:
const RootNavigator = StackNavigator({
Welcome: {screen: Welcome},
User: {
screen: TabNavigator({
Clientes: {
screen: StackNavigator({
Index: {screen: Clientes},
Teste: {
screen: Teste,
header: undefined
}
}, {
header: null,
navigationOptions: {
tabBarIcon: () => (
<Icon name="list-alt" size={22} color="#ffffff" />
)
}
})
},
Opcoes: { screen: Opcoes }
}, {
tabBarPosition: 'bottom',
tabBarOptions: {
showLabel: false,
activeTintColor: '#fff',
showIcon: true,
inactiveTintColor: '#ccc',
indicatorStyle: {
backgroundColor: '#ccc'
},
style: {
backgroundColor: '#536878'
}
}
})
},
}, {
initialRouteName: 'User',
navigationOptions: {
header: props => <Header {...props} />
}
});
export default RootNavigator;
Run Code Online (Sandbox Code Playgroud)
每个 StackNavigator 都带有一个标头,第一个标头来自RootNavigator = StackNavigator({,您看到的底部标头来自Clientes: { screen: StackNavigator({。
首先,header: null你的接缝Clientes: { screen: StackNavigator({没有任何影响。您应该尝试headerMode: 'none'相反,这将删除空白标题Index,但也会删除带有Teste标题和后退按钮的标题,这并不能解决您的所有问题。
所以我建议不同的导航器结构:
RootNavigator(StackNavigator)
- Welcome
- Index
- Teste
- User(TabNavigator)
- Clientes
- Opcoes
Run Code Online (Sandbox Code Playgroud)
接下来您应该做的是为Teste内部组件本身设置不同的标题(默认标题,带有后退按钮),如下所示:
import { Header } from 'react-navigation';
Teste.navigationOptions = ({ navigation, screenProps }) => ({
return {
header: <Header {...screenProps} {...navigation} />
}
});
Run Code Online (Sandbox Code Playgroud)
您甚至可以制作自己的标头组件并在 Teste.navigationOptions 中使用它。
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |