Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 此导航器缺少导航道具。在react navigation v3和v4中,您必须直接设置应用程序容器_Javascript_React Native_React Navigation - Fatal编程技术网

Javascript 此导航器缺少导航道具。在react navigation v3和v4中,您必须直接设置应用程序容器

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

我试图概述导航器,但获取导航道具是丢失的错误。 我根据网络忍者的教程添加了所有需要的软件包 它还成功地从“/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 { 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'