DrawerNavigator - Route'Page3'应该声明一个屏幕

时间:2018-02-18 04:42:18

标签: react-native react-native-android react-navigation

我有一个带3条路线的DrawerNavigator路由器。 当我只将Page1和Page2放在路线上时没有任何错误, 但是当我添加Page3路线时,它有一个错误“路线'Page3'应该声明一个屏幕。”。我相信Page2和Page3具有相同的代码结构,只有渲染View才有所不同。有人能告诉我发生了什么吗? 这是完整的代码。

import { DrawerNavigator } from "react-navigation";
import SideBar from './SideBar';
import Page 1 from './Page1';
import Page 2 from './Page2';
import Page 3 from './Page3';

const DrawerNav = DrawerNavigator(
  {
    Page1: { screen: Page1 },
    Page2: { screen: Page2 },
    Page3: { screen: Page3 },
  },
  {
    contentComponent: props => <SideBar {...props} />,
  }
);

export default DrawerNav;

1 个答案:

答案 0 :(得分:0)

这是错误并通过以下步骤解决:

首先调用DrawerNav一次,然后将代码汇总到export default DrawerNav = DrawerNavigator .....并删除最后一行!这是结果:

import { DrawerNavigator } from "react-navigation";
import SideBar from './SideBar';
import Page 1 from './Page1';
import Page 2 from './Page2';
import Page 3 from './Page3';

export default DrawerNav = DrawerNavigator(
  {
    Page1: { screen: Page1 },
    Page2: { screen: Page2 },
    Page3: { screen: Page3 },
  },
  {
    contentComponent: props => <SideBar {...props} />,
  }
);

然后手动删除缓存并使用npm i更新项目,然后测试我希望你的问题解决了,当你看到:)