【发布时间】:2017-06-30 14:02:57
【问题描述】:
我不是简单地尝试替换左中或右组件,我想替换整个标题,以便我可以使用 react-native-material-ui 中的工具栏。
【问题讨论】:
标签: react-native react-navigation
我不是简单地尝试替换左中或右组件,我想替换整个标题,以便我可以使用 react-native-material-ui 中的工具栏。
【问题讨论】:
标签: react-native react-navigation
您可以覆盖 navigationOptions 中的 header 属性:
import { HeaderBackButton } from 'react-navigation'
class Foo extends React.Component {
static navigationOptions = (navigationProps) => {
return {
header: (props) => (
<MyCustomHeaderContainer>
<HeaderBackButton
onPress={() => props.navigation.goBack(null)}
tintColor="#fff"
/>
<ContentComponent />
</MyCustomHeaderContainer>
),
};
}
}
这假设Foo 组件是可路由的,例如
StackNavigator({
Foo: {
screen: Foo,
},
});
UPD:您还可以在创建导航器时指定navigationOptions。这在某些情况下可能很方便,例如嵌套导航:
const MainNavigator = TabNavigator({...});
export default StackNavigator({
MainNavigator: {
screen: MainNavigator,
navigationOptions: {
header: navigationProps => <YourHeaderComponent {...navigationProps} />
},
}
}
【讨论】:
<StackNavigator><DrawerNavigator><TabNavigator/></DrawerNavigator></StackNavigator>...我可能只是不显示任何标题并构建自定义工具栏...