import React from 'react'; import { createStackNavigator, StackNavigationOptions } from '@react-navigation/stack'; import { RouteProp } from '@react-navigation/native'; import HomeScreen from './Home/HomeScreen'; import DeviceList from './device/deviceList'; import BindIndex from './bind/bind_index'; import SnBind from './bind/sn_bind'; import ConfirmBind from './bind/ConfirmBind'; import DeviceMap from './device/deviceMap'; // import BleBind from './bind/ble_bind'; import { getFocusedRouteNameFromRoute } from '@react-navigation/native'; type RootStackParamList = { Home: undefined; DeviceList: undefined; BindIndex: undefined; SnBind: undefined; ConfirmBind: undefined; DeviceMap: undefined; }; const Stack = createStackNavigator(); // 修改类型定义 const createScreenOptions = (title: string): StackNavigationOptions => { return { title, headerTitleAlign: 'center', headerStyle: { backgroundColor: '#F3FCFF', }, headerTitleStyle: { fontSize: 18, fontWeight: '500', }, }; }; type Props = { navigation: any; route: any; }; export default function HomeStackNavigator({ navigation, route }: Props) { React.useEffect(() => { const routeName = getFocusedRouteNameFromRoute(route) ?? 'Home'; const hideTabBarRoutes = ['DeviceList', 'BindIndex', 'SnBind', 'BleBind', 'ConfirmBind', 'DeviceMap']; // 添加新的路由名 const shouldHideTabBar = hideTabBarRoutes.includes(routeName); navigation.getParent()?.setOptions({ tabBarStyle: shouldHideTabBar ? { display: 'none' } : undefined }); }, [navigation, route]); return ( ); }