React native undefined不是对象(计算';(0#reactnavigation.DrawerNavigator)';)

React native undefined不是对象(计算';(0#reactnavigation.DrawerNavigator)';),react-native,react-navigation,react-navigation-drawer,React Native,React Navigation,React Navigation Drawer,我已经创建了定制的侧边栏,有5到6个屏幕。我正在使用NativeBase,希望使用DroperNavigator选项打开侧栏,但当我应用以下代码时,它遇到了问题 抽屉导航器代码 import React, { Component } from "react"; import WelcomeScreen from './screens/WelcomeScreen'; import ContactScreen from './screens/ContactScreen'; import Depart

我已经创建了定制的侧边栏,有5到6个屏幕。我正在使用NativeBase,希望使用DroperNavigator选项打开侧栏,但当我应用以下代码时,它遇到了问题

抽屉导航器代码

import React, { Component } from "react";
import WelcomeScreen from './screens/WelcomeScreen';
import ContactScreen from './screens/ContactScreen';
import DepartmentScreen from './screens/DepartmentScreen';
import EmailServiceScreen from './screens/EmailServiceScreen';
import MoreScreen from './screens/MoreScreen';
import SideBar from "./SideBar.js";
import { DrawerNavigator } from "react-navigation";

const SidebarNavigator = DrawerNavigator(
  {
    Home: { screen: WelcomeScreen },
    Contact: { screen: ContactScreen },
    Department: { screen: DepartmentScreen },
    EmailService: { screen: EmailServiceScreen },
    More: { screen: MoreScreen }
  },
  {
    contentComponent: props => <SideBar {...props} />
  }
);
export default SidebarNavigator;

Calling them in APP.Js as propos. See following code from APP.JS


import SidebarNavigator from './src/SidebarNavigator';

class App extends Component {
  render() {
    const store = createStore(reducers, {}, applyMiddleware(ReduxThunk));
    return (
      <Provider store={createStore(reducers)}>
          <Root>
            <Router /> // It's a stack navigator which is working fine
            <SidebarNavigator />
          </Root>
      </Provider>
    );
  }
}

console.disableYellowBox = true;
export default App;
import React,{Component}来自“React”;
从“./screens/WelcomeScreen”导入WelcomeScreen;
从“./screens/ContactScreen”导入ContactScreen;
从“./screens/DepartmentScreen”导入部门屏幕;
从“/screens/EmailServiceScreen”导入EmailServiceScreen;
从“/screens/MoreScreen”导入MoreScreen;
从“/SideBar.js”导入侧边栏;
从“react navigation”导入{DrawerNavigator};
const SidebarNavigator=抽屉驱动程序(
{
主页:{screen:WelcomeScreen},
联系人:{screen:ContactScreen},
部门:{screen:DepartmentScreen},
EmailService:{screen:EmailServiceScreen},
更多:{screen:MoreScreen}
},
{
contentComponent:props=>
}
);
导出默认的SidebarNavigator;
在APP.Js中将它们称为Proposo。请参阅APP.JS中的以下代码
从“/src/SidebarNavigator”导入SidebarNavigator;
类应用程序扩展组件{
render(){
conststore=createStore(reducer,{},applyMiddleware(ReduxThunk));
返回(
//这是一个工作正常的堆栈导航器
);
}
}
console.disableYellowBox=true;
导出默认应用程序;

这里的错误是,您使用的是
DrawerNavigation
而不是
createDrawerNavigator

只要做这些改变,你就应该做得很好

import { createDrawerNavigator } from "react-navigation";

...

const SidebarNavigator = createDrawerNavigator( ... )
来源:

您可以尝试此代码

您可以使用
createDrawerNavigator
createAppContainer

从“react navigation”导入{createDrawerNavigator,createAppContainer};
...
const SidebarNavigator=createDrawerNavigator(…)
const AppContainer=createAppContainer(SidebarNavigator);
//现在AppContainer是React to render的主要组件
导出默认AppContainer;

当我应用该代码时,我面临以下问题