在堆栈导航中反应本机选项卡导航不起作用
React native tab navigation within stack navigation not working
当我尝试在堆栈导航器中使用选项卡导航器时,选项卡导航器不可见。除非我在选项卡导航器上方添加文本。
这是我的 App.js 堆栈导航器。
const Stack = createStackNavigator();
const App = () => {
return (
<NavigationContainer theme={DarkTheme}>
<Stack.Navigator>
<Stack.Screen
name="Home"
component={HomeScreen}
options={{headerShown: false}} />
<Stack.Screen
name="Settings"
component={SettingsScreen}
options={{headerShown: false}} />
<Stack.Screen
name="AddItem"
component={AddItemScreen}
options={{headerShown:false}} />
</Stack.Navigator>
</NavigationContainer>
);
};
这是我的带有选项卡导航器的主屏幕
export default HomeScreen = ({navigation}) => {
return (
<View style={{alignSelf: 'baseline'}}>
<TabNavigation />
</View>
)
}
最后,这是我的 TabNavigator。
const Tabs = createMaterialTopTabNavigator();
export default function TabNavigation(){
return(
<NavigationContainer independent={true} theme={DarkTheme}>
<Tabs.Navigator>
<Tabs.Screen name="Todo" component={TodoView} />
<Tabs.Screen name="Completed" component={CompletedView} />
</Tabs.Navigator>
</NavigationContainer>
);
}
目前我得到一个空白的黑屏。当我在选项卡导航器上添加文本块时,如下所示:
export default HomeScreen = ({navigation}) => {
return (
<View style={{alignSelf: 'baseline'}}>
<Text>Test</Text>
<TabNavigation />
</View>
)
}
我得到以下信息:
仍然不完美(标签没有显示),但至少它显示了一些东西。
感谢任何帮助!
我解决了!在 HomeScreen.js 组件中,我更改了这个:
export default HomeScreen = () => {
return (
<View>
<TabNavigation />
<FabButtons />
</View>
)
}
对此:
export default HomeScreen = () => {
return (
<>
<TabNavigation />
<FabButtons />
</>
)
}
删除 View contriner 使所有组件可见!
当我尝试在堆栈导航器中使用选项卡导航器时,选项卡导航器不可见。除非我在选项卡导航器上方添加文本。
这是我的 App.js 堆栈导航器。
const Stack = createStackNavigator();
const App = () => {
return (
<NavigationContainer theme={DarkTheme}>
<Stack.Navigator>
<Stack.Screen
name="Home"
component={HomeScreen}
options={{headerShown: false}} />
<Stack.Screen
name="Settings"
component={SettingsScreen}
options={{headerShown: false}} />
<Stack.Screen
name="AddItem"
component={AddItemScreen}
options={{headerShown:false}} />
</Stack.Navigator>
</NavigationContainer>
);
};
这是我的带有选项卡导航器的主屏幕
export default HomeScreen = ({navigation}) => {
return (
<View style={{alignSelf: 'baseline'}}>
<TabNavigation />
</View>
)
}
最后,这是我的 TabNavigator。
const Tabs = createMaterialTopTabNavigator();
export default function TabNavigation(){
return(
<NavigationContainer independent={true} theme={DarkTheme}>
<Tabs.Navigator>
<Tabs.Screen name="Todo" component={TodoView} />
<Tabs.Screen name="Completed" component={CompletedView} />
</Tabs.Navigator>
</NavigationContainer>
);
}
目前我得到一个空白的黑屏。当我在选项卡导航器上添加文本块时,如下所示:
export default HomeScreen = ({navigation}) => {
return (
<View style={{alignSelf: 'baseline'}}>
<Text>Test</Text>
<TabNavigation />
</View>
)
}
我得到以下信息:
仍然不完美(标签没有显示),但至少它显示了一些东西。 感谢任何帮助!
我解决了!在 HomeScreen.js 组件中,我更改了这个:
export default HomeScreen = () => {
return (
<View>
<TabNavigation />
<FabButtons />
</View>
)
}
对此:
export default HomeScreen = () => {
return (
<>
<TabNavigation />
<FabButtons />
</>
)
}
删除 View contriner 使所有组件可见!