-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Open
Labels
Description
Current behaviour
Using createMaterialBottomTabNavigator from "react-native-paper/react-navigation" returns fully functional Tab navigator, but with any type, making it impossible to work with using Typescript.
Expected behaviour
It should return something which will allow Intelisense to work as it should: e.g. it should instruct user to use <Tabs.Navigator> or to use component prop in <Tabs.Screen/>
How to reproduce?
import TabBarIcon from "@/src/components/TabBarIcon";
import { createMaterialBottomTabNavigator } from "react-native-paper/react-navigation";
import MessagesRoute from "./messages";
import Notifications from "./notifications";
const Tabs = createMaterialBottomTabNavigator();
export default function CommunicationLayout() {
return (
<Tabs.Navigator>
<Tabs.Screen
component={MessagesRoute}
name="messages"
options={{ title: "Messages", tabBarIcon: () => <TabBarIcon iconName="mail" /> }}
/>
<Tabs.Screen
component={Notifications}
name="notifications"
options={{ title: "Notifications", tabBarLabel: () => undefined }}
/>
</Tabs.Navigator>
);
}Preview
What have you tried so far?
There is no easy solution for that. I tried installing react-navigation and importing types, but it didn't help.
Your Environment
| software | version |
|---|---|
| ios | x |
| android | 13 |
| react-native | latest |
| react-native-paper | latest |
| node | 22.13.1 |
| npm or yarn | pnpm - latest |
| expo sdk | 53 |
Gruak
