导入ES模块以反应本机未识别

时间:2018-01-03 01:06:53

标签: javascript android react-native ecmascript-6 react-navigation

我想将屏幕导入我的反应导航,但是当我导入类React.Component时,它的身份不明

我的routes.js

import * as Screens from '../screens/index';
import {FontIcons} from '../assets/icons';

export const MainRoutes = [
  {
    id: 'LoginMenu',
    title: 'Marketing',
    icon: FontIcons.login,
    screen: Screens.GridV1,
    children: [
      {
        id: 'Login1',
        title: 'Login V1',
        screen: Screens.GridV1,
        children: []
      },
      {
        id: 'Login2',
        title: 'Login V2',
        screen: 'GridV2',
        children: []
      },
      {
        id: 'SignUp',
        title: 'Sign Up',
        screen: 'GridV2',
        children: []
      },
      {
        id: 'password',
        title: 'Password Recovery',
        screen: 'GridV2',
        children: []
      },
    ]
  }
];

我的屏幕/ index.js

export * from './navigation';
export * from './dash';

当我用

检查屏幕导入时
console.log(Screens);

enter image description here

万事如意。但是当我执行

console.log(Screens.GridV1);

enter image description here

我无法访问GridV1类

请帮我解决我的问题。谢谢你

1 个答案:

答案 0 :(得分:1)

Screens的Chrome快照中,它显示当时您console.logScreens对象只包含一个元素{__esModule: true}GridV1GridV2以及其他所有模块都延迟解决了。

因此你应该看到它适用于setTimeout,例如:

setTimeout( () => console.log(Screens.GridV1), 100 );

但真正的问题仍然存在。通常import javascript模块不会有这样的副作用,它应该按预期工作。检查这些模块是否有任何特殊的初始化机制。