Aus*_*enn 5 javascript reactjs react-native react-native-navigation
场景:
问题 -使用我过去的解决方案,每当我添加一个屏幕时,都会为该屏幕添加一个标签。
去做 :
我想将标签页放在导航堆栈中,以及其他正常(非标签页)屏幕中。
我无法将两者结合在一起,并尝试了下面代码的许多变体。
尝试代码:
const School = createStackNavigator({
School: {
screen: SchoolScreen,
navigationOptions: {
headerTitle: <CustomHeaderTitle screen='school'/>
}
}
});
const Admin = createStackNavigator(
{ Admin: {
screen: AdminScreen,
navigationOptions: {
headerTitle: <CustomHeaderTitle screen='admin' />
}
}
});
const Family = createStackNavigator(
{
Family: {
screen: FamilyScreen,
navigationOptions: {
headerLeft: null,
headerTitle: <CustomHeaderTitle screen='family' />
}
}
}
);
const ChatStack = createStackNavigator({
CreateChat: CreateChatScreen
});
const TabStack = createBottomTabNavigator(
{
School: School,
Admin: Admin,
Family: Family
},
{
navigationOptions: ({ navigation }) => ({
tabBarIcon: () => {
const { routeName } = navigation.state;
return <Image id={1} source={require('./app/img/school_logo.png')} />
},
tabBarLabel: navigation.state.routeName
}),
tabBarOptions: {
activeTintColor: 'tomato',
inactiveTintColor: 'gray',
style: {
backgroundColor: 'black',
height: 55
}
}
}
);
const RootStack = createStackNavigator({
Root: ChatStack,
Tabs: TabStack
})
export default class App extends Component {
render() { return (
<Provider store={store}>
<RootStack />
</Provider>
);
}
}
Run Code Online (Sandbox Code Playgroud)
抱歉,经过一段时间的处理,我无法格式化此代码。
感谢您的任何帮助或建议!
请提出建议。
当 TabStack 聚焦时,您应该隐藏 RootStack 标头
TabStack.navigationOptions = {
// Hide the header from root stack
header: null,
};
Run Code Online (Sandbox Code Playgroud)
并且您不需要将堆栈添加到 CreateChatScreen
const RootStack = createStackNavigator({
Tabs: TabStack,
ChatScreen: CreateChatScreen,
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2679 次 |
| 最近记录: |