Quantcast
Channel: Active questions tagged react-native+typescript - Stack Overflow
Viewing all articles
Browse latest Browse all 6290

Can't import navigation screen

$
0
0

When I try to replace TabOneScreen with a custom screen name DashboardScreen

import DashboardScreen from '../screens/DashboardScreen';

It show

Module '"c:/Users/User/Projects/robinhacks/screens/DashboardScreen"' has no default export.ts(1192)

I use tab TypeScript in expo template https://docs.expo.dev/get-started/create-a-new-app/here is the index.tsx file in navigation folder

/** * A bottom tab navigator displays tab buttons on the bottom of the display to switch screens. * https://reactnavigation.org/docs/bottom-tab-navigator */const BottomTab = createBottomTabNavigator<RootTabParamList>();function BottomTabNavigator() {  const colorScheme = useColorScheme();  return (<BottomTab.Navigator      initialRouteName="TabOne"      screenOptions={{        tabBarActiveTintColor: Colors[colorScheme].tint,      }}><BottomTab.Screen        name="TabOne"        component={DashboardScreen}        options={({ navigation }: RootTabScreenProps<'TabOne'>) => ({          title: 'Dashboard',          tabBarIcon: ({ color }) => <TabBarIcon name="code" color={color} />,          headerRight: () => (<Pressable              onPress={() => navigation.navigate('Modal')}              style={({ pressed }) => ({                opacity: pressed ? 0.5 : 1,              })}><FontAwesome                name="info-circle"                size={25}                color={Colors[colorScheme].text}                style={{ marginRight: 15 }}              /></Pressable>          ),        })}      /><BottomTab.Screen        name="TabTwo"        component={TabTwoScreen}        options={{          title: 'Tab Two',          tabBarIcon: ({ color }) => <TabBarIcon name="code" color={color} />,        }}      /></BottomTab.Navigator>  );}

when I try to add {}

import { DashboardScreen } from '../screens/DashboardScreen';

but it show DashboardScreen error

    Module '"../screens/DashboardScreen"' declares 'DashboardScreen' locally, but it is not exported.ts(2459)DashboardScreen.tsx(3, 7): 'DashboardScreen' is declared here.

Here is DashboardScreen.tsx file

import React from 'react'import { Text, View} from 'react-native'class DashboardScreen extends React.Component {    constructor(props: any) {        super(props)        this.state = {}    }    render() {    return <View><Text>Dashboard Screen</Text></View>    }}

I also try to add * as

import * as DashboardScreen from '../screens/DashboardScreen';

but it show component error

Type 'typeof import("c:/Users/User/Projects/robinhacks/screens/DashboardScreen")' is not assignable to type 'ScreenComponentType<RootTabParamList, "TabOne"> | undefined'.ts(2322)types.d.ts(327, 5): The expected type comes from property 'component' which is declared here on type 'IntrinsicAttributes & RouteConfig<RootTabParamList, "TabOne", TabNavigationState<ParamListBase>, BottomTabNavigationOptions, BottomTabNavigationEventMap>'

here is types.tsx file

/** * Learn more about using TypeScript with React Navigation: * https://reactnavigation.org/docs/typescript/ */import { BottomTabScreenProps } from '@react-navigation/bottom-tabs';import { CompositeScreenProps, NavigatorScreenParams } from '@react-navigation/native';import { NativeStackScreenProps } from '@react-navigation/native-stack';declare global {  namespace ReactNavigation {    interface RootParamList extends RootStackParamList {}  }}export type RootStackParamList = {  Root: NavigatorScreenParams<RootTabParamList> | undefined;  Modal: undefined;  NotFound: undefined;};export type RootStackScreenProps<Screen extends keyof RootStackParamList> = NativeStackScreenProps<  RootStackParamList,  Screen>;export type RootTabParamList = {  TabOne: undefined;  TabTwo: undefined;};export type RootTabScreenProps<Screen extends keyof RootTabParamList> = CompositeScreenProps<  BottomTabScreenProps<RootTabParamList, Screen>,  NativeStackScreenProps<RootStackParamList>>;

What should I do?

https://reactnavigation.org/docs/bottom-tab-navigator/https://reactnavigation.org/docs/typescript/


Viewing all articles
Browse latest Browse all 6290

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>