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

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

我想导入屏幕到我的反应导航,但当我导入类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类

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

javascript android react-native ecmascript-6 react-navigation
1个回答
1
投票

Screens的chrome快照,它显示,在那一刻你console.logScreens对象只包含一个元素{__esModule: true}GridV1GridV2和所有其他模块延迟解决。

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

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

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

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