我创建了一个工作正常的stackNavigator(用于登录屏幕),然后创建了bottomTabsNavigator,但是由于某种原因,我收到此错误“创建路由器不是功能”,请检查以下屏幕截图:
这是我的代码:
import {createBottomTabNavigator} from '@react-navigation/bottom-tabs';
/** Bottom tab navigator */
const Tab = createBottomTabNavigator();
const MyTabs = () => {
return (
<Tab.Navigator initialRouteName="Tab1">
<Tab.Screen name="Tab1" component={Tab1} />
<Tab.Screen name="Tab2" component={Tab2} />
</Tab.Navigator>
);
};
const App = () => {
return (
<Provider store={store}>
<NavigationContainer>
<MyTabs />
</NavigationContainer>
</Provider>
);
};
我完全按照React Navigation 5.x文档的建议做了,但是仍然遇到这个问题。让我知道是否有人遇到过类似的事情。
答案 0 :(得分:6)
只需在这里解决问题即可。
我已更新到所有库的最新版本
"@react-navigation/bottom-tabs": "^5.0.1",
"@react-navigation/core": "^5.1.0",
"@react-navigation/material-top-tabs": "^5.0.1",
"@react-navigation/native": "^5.0.1",
"@react-navigation/stack": "^5.0.1",
然后我删除了package-lock.json,
然后在终端中转到android文件夹,然后输入./gradlew clean
之后,您应该运行npx react-native run-android
关闭默认的地铁站,
然后运行npx react-native start --reset-cache,
这样做后效果很好
答案 1 :(得分:0)
确保已安装@react-navigation/native
和@react-navigation/bottom-tabs
的最新版本:
npm install @react-navigation/native @react-navigation/bottom-tabs
然后清除缓存:
npm react-native start --reset-cache
或者如果使用Expo:
expo start -c