最近寫RN項目遇到很多問題!看了很多項目用到的react-navigation還是1.5.11的版本,遇到很多問題(忙了好幾天才找到問題)比如在使用createBottomTabNavigator 和createStackNavigator 嵌套時候坑來了,標題設(shè)置不上去!傷腦子(使用的最新react-navigation 版本2.0.4)
const TabNavigator = createBottomTabNavigator({
Feed: Home,
Profile: Mine,
});
const AppNavigator = createStackNavigator({
Home: TabNavigator,
Settings: Detail,
});
//下面是首頁設(shè)置的標題(我的界面一樣的)
export default class Home extends Component {
static navigationOptions={
headerTitle:'首頁'
}
render() {
return (
<Text>這是Home</Text>
);
}
}

沒有標題
然后我再我給AppNavigator 這是導航欄信息出現(xiàn)但是不是我想要的效果!(但是還是不能單獨在子控制器里面設(shè)置標題,這是更改TabNavigator在每一個路由的顯示效果)
TabNavigator.navigationOptions = ({ navigation }) => {
let { routeName } = navigation.state.routes[navigation.state.index];
// 在這里你可以選擇基于路由的名稱
let headerTitle = routeName;
return {
headerTitle,
};
};
我想要是是給他的子類設(shè)置導航欄信息(然后想到把AppNavigator 的header給隱藏掉,先給每一個控制器加上導航欄在隱藏TabNavigator 的導航欄)
const FeedStack = createStackNavigator({
FeedHome: Home,
});
const ProfileStack = createStackNavigator({
ProfileHome: Mine,
});
const TabNavigator = createBottomTabNavigator({
Feed: FeedStack,
Profile: ProfileStack,
});
TabNavigator.navigationOptions = {
// 從堆棧AppNavigator隱藏標題
header: null,
};
const AppNavigator = createStackNavigator({
Home: TabNavigator,
Settings: Detail,
});
這樣就完美的解決了!(解決子導航欄設(shè)置不上標題問題)