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 |
Current behaviour
Using
createMaterialBottomTabNavigatorfrom"react-native-paper/react-navigation"returns fully functional Tab navigator, but withanytype, 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 usecomponentprop in<Tabs.Screen/>How to reproduce?
Preview
What have you tried so far?
There is no easy solution for that. I tried installing
react-navigationand importing types, but it didn't help.Your Environment