undefined不是评估0的函数,reactnavigation.createDrawerNavigator

问题描述 投票:0回答:1

我有以下代码

import { createStackNavigator,createAppContainer,DrawerNavigator,createDrawerNavigator, DrawerActions } from 'react-navigation';
    const RootStack = createDrawerNavigator(
      {
        Home: HomeScreen,
        Details: DetailsScreen,
      },
      {
        intialRouteName: 'Home',
        navigationOptions: {
          headerStyle : {
            backgroundColor: '#f4511e',
          },
          headerTintColor: '#fff',
          headerTitleStyle : {
            color: 'white',
          },
        },
      }
    );


    export default class App extends React.Component {
      render() {
        return <RootStack/>;
      }
    }

它始终显示错误

undefined不是评估0的函数,reactnavigation.createDrawerNavigator

我试过在网上找到不同的解决方案,但总是得到相同的错误,看起来像'react-navigation'的版本问题

“react-navigation”:“1.0.0-beta.23”

我在反应原生的第一天也无法得到它。

任何帮助,赞赏

谢谢

android react-native react-native-android android-navigation-drawer
1个回答
1
投票

我设置了这样的抽屉导航:

制作一个route.js文件并在那里添加所有这些代码

注意:而不是componentName添加您的组件名称

import { StackNavigator, createDrawerNavigator } from 'react-navigation';
import DrawerScreen from 'your/drawer/component/path'
import componentName from 'your/component/path/componentName'

const Navigator = StackNavigator({
    componentName: { screen: componentName, navigationOptions: { header:null }}},
{
   mode: 'modal',
   headerMode: 'none',
   initialRouteName: componentName

});

const MyDrawerNavigator = createDrawerNavigator({  Navigator },
  {
      contentComponent:DrawerScreen,
      drawerPosition:"left"
  });

module.exports = MyDrawerNavigator;

然后在你的app.js文件导入你的

MyDrawerNavigator

像这样

import MyDrawerNavigator from 'path/to/routes.js'

然后在app.js上使用它

export default class App extends Component{
  render() {
    return (
        <MyDrawerNavigator />
    );
  }
}

而已 :)

我使用react-navigation version - > 2.5.5

希望它适合你。

© www.soinside.com 2019 - 2024. All rights reserved.