当前位置: 首页 > 面试题库 >

需要本机模块

赵炯
2023-03-14
问题内容

我陷入了本机项目中的一个问题。我试图做一个通用的需求文件,在其中导出所有模块。之后,我只需要我的“
require.js”文件,以避免在每个文件中都这样调用require(’../../ ModuleName’)。

我有4个文件:

index.ios.js
/app/home.js
/app/MyView.js
/app/require.js

require.js:

module.exports = {

    Home: require('./home'),
    MyView: require('./MyView')

}

在index.ios.js中(他的Home和MyView模块正确获取了importet)

'use strict';

var React = require('react-native');
var {
    AppRegistry,
    StyleSheet,
    Text,
    View,
} = React;

var {
    Home,
    MyView
} = require('./app/require');

class Test_require extends React.Component {

    render() {

        return(
            <Home />
        );
    }

}



AppRegistry.registerComponent('Test_require', () => Test_require);

Home.js(模块MyView没有获得重要信息)

'use strict';

var React = require('react-native');

var {
    View,
    Text
} = React;

var {
    MyView
} = require('./require');

class Home extends React.Component {

    render() {
        console.log(MyView);
        return(
            <MyView />
        );
    }

}

module.exports = Home;

在Home.js中,MyView变量是“ undefined”。如果我想在一个模块中需要一个已经导入到另一个文件中的模块,则该变量未定义。

你们有什么线索我为什么可以这样做吗?还是有更好的解决方案来解决我的问题?感谢您提供任何线索


问题答案:

因此,如果有人遇到相同的问题,我会发布自己的答案。

以这种语法,所需文件将被同步加载。因此,如果组件的构建比需要文件的速度快,则会发生此问题。要么在需要时使组件延迟加载,要么使用es6
import语法(异步导入):

import React from 'react-native'

干杯!



 类似资料:
  • 问题内容: 以下代码: 是/是打开JDBC连接所必需的。 我听说现代JDBC驱动程序不再需要它。但是我无法在项目中将其删除,因为我遇到了异常。我正在使用Java7和tomcat7。 什么时候可以省略构建? 问题答案: 从JDBC 4.0开始,不需要Class.forName()。 这是JDBC的Java教程的摘录。 在 早期 版本的JDBC中,要获得连接,首先必须通过调用方法Class.forNa

  • 问题内容: 我已经在Windows 7机器上安装了。现在,我尝试使用命令“ gem install json”安装JSON gem,并收到以下错误。 然后我去下载了DevKit-4.5.0-20100819-1536-sfx.exe。将其提取到C:\ DevKit。然后从命令提示符处执行以下命令。 执行以上命令后,我验证了config.yaml的生成,并且它具有我的ruby文件夹的路径自动添加。这

  • 我试图在我的应用程序中实现react-native-modal-datetime-picker 道具 源代码 const{cdate,isVisible,setDate,setVisible}=this.state; aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

  • 我有这个错误:

  • 服务器xml Tomcat日志 已安装小包 四月一日、三日、九日至五日。el6_2。x86_64 tomcat-7.0.70-2。el6。诺奇 openssl-1.0.1e-48。el6_8.3。x86_64 tomcat-native-1.1.34-1。el6。x86_64 java-1.8.0-openjdk-1.8.0.101-3。b13。el6_8。x86_64 OS:CentOS 如何修