Javascript 此导航器缺少导航道具。在react navigation v3和v4中,您必须直接设置应用程序容器
我试图概述导航器,但获取导航道具是丢失的错误。 我根据网络忍者的教程添加了所有需要的软件包 它还成功地从“/screens/Home”导入了btw import Home;消失了Javascript 此导航器缺少导航道具。在react navigation v3和v4中,您必须直接设置应用程序容器,javascript,react-native,react-navigation,Javascript,React Native,React Navigation,我试图概述导航器,但获取导航道具是丢失的错误。 我根据网络忍者的教程添加了所有需要的软件包 它还成功地从“/screens/Home”导入了btw import Home;消失了 import 'react-native-gesture-handler'; import React, {useState} from 'react'; import * as Font from 'expo-font'; import Home from './screens/home'; import { App
import 'react-native-gesture-handler';
import React, {useState} from 'react';
import * as Font from 'expo-font';
import Home from './screens/home';
import { AppLoading } from 'expo';
import Navigator from './routes/homestack';
const getFonts = () => Font.loadAsync({
'Lacquer-regular': require('./assets/fonts/Lacquer-Regular.ttf'),
'Roboto-bold': require('./assets/fonts/Roboto-Bold.ttf')
});
export default function App() {
const [fontsLoaded, setFontsLoaded] = useState(false);
if(fontsLoaded){
return (
<Navigator />
);
} else {
return (
<AppLoading
startAsync={getFonts}
onFinish={()=> setFontsLoaded(true)}
/>
)
}
}
如果有任何帮助,Homestack文件的外观:
import { createStackNavigator} from 'react-navigation-stack';
import Home from '../screens/home';
import ReviewDetails from '../screens/reviewDetails';
const screens = {
Homepage: {
screen: Home,
navigationOptions: {
title: 'HorrorZone',
}
},
ReviewDetails: {
screen: ReviewDetails,
navigationOptions: {
title: 'Review Details',
}
}
}
const HomeStack = createStackNavigator (screens, {
defaultNavigationOptions: {
headerTintColor: 'white',
headerStyle: { backgroundColor: 'red' }
}
});
export default HomeStack;
这正是我得到的错误:
如果您使用的是React Navigation V3,则需要直接使用容器。在V3createNavigationContainer中,重命名为createAppContainer V3的示例
import { createStackNavigator, createAppContainer} from 'react-navigation';
如果您使用的是React Navigation V4,则导航器已移动到单独的存储库中。您需要安装并从“react navigation stack”导入 V4的示例
import { createStackNavigator } from 'react-navigation-stack'
在不同的版本中,有很多突破性的变化。请看一看
您尚未将堆栈导航器包装到app navigator中。请将您的
HomeStack
包装在createAppContainer
中,然后按如下方式导出:
从“反应导航”导入{createAppContainer};//导入这个
从“反应导航堆栈”导入{createStackNavigator};
从“../screens/Home”导入主页;
从“../screens/ReviewDetails”导入ReviewDetails;
常数屏幕={
主页:{
屏幕:主页,
导航选项:{
标题:“恐怖地带”,
}
},
回顾详情:{
屏幕:查看详细信息,
导航选项:{
标题:“审查详情”,
}
}
}
//将堆栈导航器存储在任何变量中
常量堆栈=createStackNavigator(屏幕{
默认导航选项:{
头部颜色:“白色”,
headerStyle:{backgroundColor:'red'}
}
});
//创建应用程序容器
const HomeStack=createAppContainer(堆栈);
出口违约本币;
在您的AboutStack
中进行了相同的更改
注意:在导航器中多使用appContainer是不好的。而不是仅仅创建一个路由器,将所有堆栈导航器封装在一个appContainer中。我使用V4,我使用导入{createStackNavigator}从“react navigation stack”仍收到错误,请更新您导入并正确启动导航的描述。您能发布
/routes/homestack
文件的代码吗?我添加了我的homestack我上传了我的答案。请查收。希望它能帮助你。
import { createStackNavigator } from 'react-navigation-stack'