我有一个Header
组件,我在React Native中用作静态appbar。现在,我正在尝试包含StackNavigator
,以便更轻松地管理屏幕之间的转换。
我的问题是我无法在Header
标题中包含我的StackNavigator
组件。我目前的代码和结果如下所示:
const APPBAR_HEIGHT = Platform.OS === 'ios' ? 44 : 56;
const GiftNavigator = StackNavigator(
{
All: {
screen: GiftListSection,
navigationOptions: {
tabBarLabel: 'All',
}
},
Reclaim: {
screen: GiftReclaimSection,
navigationOptions: {
tabBarLabel: 'Reclaim',
}
}
}, {
headerMode: 'float',
header: (
<View style={{ height: APPBAR_HEIGHT }}>
<Header />
</View>
)
});
请注意,未加载Header
。这只是一个空白区域。如何将Header
组件加载到StackNavigator
标题?如果我加载自己的Header
,它是否会包含默认导航器标题中的后退按钮?
答案 0 :(得分:2)
您可以尝试这样:
export default class YourScreen extends Component {
static navigationOptions = {
header: <YourHeader/>,
};
...
}
或:
const GiftNavigator = StackNavigator(
{
All: {
screen: GiftListSection,
navigationOptions: {
tabBarLabel: 'All',
header: <YourHeader/>,
}
},
Reclaim: {
screen: GiftReclaimSection,
navigationOptions: {
tabBarLabel: 'Reclaim',
header: <YourHeader/>,
}
}
}
希望这可以帮到你!
答案 1 :(得分:1)
您可以使用headerMode: 'none'
选项完全隐藏默认反应导航标题,并为每个组件自行处理标题。
或者您可以使用header
属性并加载自己的自定义标头组件:
navigationOptions: {
header: props => <CustomHeader {...props} />,
},