首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >需要react-native中的模块

需要react-native中的模块
EN

Stack Overflow用户
提问于 2015-10-15 08:07:05
回答 3查看 22.4K关注 0票数 4

我被react原生项目中的一个问题卡住了。我正在尝试做一个通用的请求文件,我在这里导出我的所有模块。在那之后,我只需要我的"require.js“文件,以避免在每个文件中像这样的调用(‘../../ModuleName’)。

我有4个文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
index.ios.js
/app/home.js
/app/MyView.js
/app/require.js

require.js:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
module.exports = {

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

}

在index.ios.js中( Home和MyView模块被正确导入)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'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未导入)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
'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变量是“未定义的”。如果我想在一个Module中需要一个模块,这个模块已经被导入到另一个文件中,那么这个变量是未定义的。

你们知道为什么我可以这么做吗?或者我的问题有没有更好的解决方案?谢谢你的任何提示

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-07 13:29:31

所以我发布了我自己的答案,以防其他人也有同样的问题。

在这样的语法中,所需的文件是同步加载的。因此,如果组件的构建速度比需要文件的速度快,就会出现这个问题。要么让组件在需要时延迟加载,要么像这样使用es6导入语法(异步导入加载):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React from 'react-native'

干杯!

票数 5
EN

Stack Overflow用户

发布于 2016-05-27 04:03:42

在文件头注释中添加@providesModule moduleName。你也可以在项目的其他地方使用require('moduleName')进行导入。

请参阅此issue

顺便说一句,为什么这样一个令人惊叹的特性从来没有在任何地方被记录下来?

票数 2
EN

Stack Overflow用户

发布于 2020-01-15 20:30:27

这是很古老的,但记录需要更正。Require不是异步的。通过检查返回的对象(而不是promise),可以很容易地判断出这一点。

在ES6中重新导出非常简单。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export * from './types';
export { default as ApiClient } from './ApiClient';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33143147

复制
相关文章
qtcpsocket编程_qtcpsocket判断连接状态
QTcpSocket 和 QTcpServer类实现了Qt的Tcp客户端和服务器。
全栈程序员站长
2022/10/01
2.5K0
Excel公式技巧103:检查列表是否已排序
很显然,单元格区域B2:B8中的数据是按升序排列的,而单元格区域D2:D8中的数据则没有按顺序排列。
fanjy
2021/08/31
2.1K0
Excel公式技巧103:检查列表是否已排序
VBA应用技巧:检查文件夹是否已存在
在使用VBA操作文件时,如果不先核实要操作的文件夹是否已存在,则有可能会导致代码出错。例如,在创建文件夹时、在到指定的文件夹中获取文件时。因此,我们需要先使用代码判断是否已存在相应的文件夹。
fanjy
2022/11/16
4K0
怎么检查计算机和打印机是否连接网络,检查电脑是否正确连接网络打印机
大家好,又见面了,我是你们的朋友全栈君。 我们有时候会在电脑中连接网络打印机来进行打印工作。可是有用户会遇到文件无法打印的问题。那么这个时候应该怎么检查电脑中是否已成功连接网络打印机?对此,我们可以参
全栈程序员站长
2022/08/25
5.1K0
怎么检查计算机和打印机是否连接网络,检查电脑是否正确连接网络打印机
qtcpsocket用法_qtcpsocket发送16进制数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
1.6K0
qtcpsocket断开_2020-05-06 QT子线程使用QTcpSocket连接服务器
分别是:1.继承QThread实现多线程2.继承QObject实现多线程(由于继承QObject的多线程实现方法更加灵活,Qt官方推荐使用该方法实现多线程)。这里将采用第二种方式实现多线程
全栈程序员站长
2022/10/03
1.5K0
qtcpsocket多线程_qtcpsocket接收数据
最近在写有关网络传输的项目,使用了Qt封装的QTcpSocket,但是发现很多的跨线程导致死机的问题,也许是我了解的不够深入吧。最开始是自己继承一个线程然后把主线程创建的套接字传递到子线程并且在子线程中写入数据遇到程序崩溃;否决后是考虑到了跨线程访问的问题,QTcpSocket跨线程崩溃说明它只能是在哪个线程创建就只能在哪个线程使用,这样想的话只需要把特别耗时的处理(数据准备操作)放到一个子线程中,然后把待写入数据通过信号槽的形式传递给QTcpSocket所在线程(其实就是主线程)中然后调用QTcpSocket::write()发送,但是这就让主线程在写数据了,如果数据不是很大倒也可以,看个人情况而定;最后决定使用QObject::moveToThread()的方式,因为我要不间断的发送大量的数据所以在一个子线程中操作才是明智的选择,就是把在主线程创建好的QTcpSocket对象通过QObject::moveToThread()放到一个子线程中操作(也就相当于是在子线程创建的),后续的QTcpSocket与主线程之间的操作都是通过信号槽形式进行的。
全栈程序员站长
2022/09/30
1.2K0
qtcpsocket多线程_qtcpsocket接收数据
QTcpSocket – client[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/195503.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/30
5030
QTcpSocket – client[通俗易懂]
qtcpsocket 客户端_qtcpsocket接收结构体数据
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/09/30
1.3K0
js检查是否是数组
该方法兼容Chrome 5, Firefox 4.0, IE 9, Opera 10.5 和 Safari 5,详细兼容性,可以查阅这篇文章。
IT工作者
2022/01/27
3.4K0
js检查日期是否合法
检查日期是否合法 <script> function CheckDateTime(str) { var reg = /^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; var r = str.match(reg); if (r == null) return false; r[2] = r[2] - 1; var d = new Date(r[
江一铭
2022/06/16
6.4K0
JS检查是否支持Storage
查看效果:http://hovertree.com/code/html5/q69kvsi6.htm
全栈程序员站长
2022/07/15
2.9K0
JavaScript 检查是否是数字
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/109551.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
1.1K0
QTcpSocket简单使用[通俗易懂]
提供一个TCP基础服务类 继承自QObject 这个类用来接收到来的TCP连接,可以指定TCP端口或者用QTcpServer自己挑选一个端口,可以监听一个指定的地址或者所有的机器地址。 调用listen()来监听所有的连接,每当一个新的客户端连接到服务端就会发射信号newConnection() 调用nextPendingConnection()来接受待处理的连接。返回一个连接的QTcpSocket(),我们可以用这个返回的套接字和客户端进行连接
全栈程序员站长
2022/09/30
9410
python 检查是否存在ddos攻击
import dpkt import socket import optparse
用户5760343
2019/07/31
3.7K0
python 检查是否存在ddos攻击
php-检查网站是否宕机
浏览量 2 <?php $url="http://www.google.com"; $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT
kdyonly
2023/03/03
1.6K0
Flutter - 检查 Internet 连接示例[Flutter专题14]
有时,您可能想要检查运行您的应用程序的设备的互联网连接。如果应用程序是使用 Flutter 开发的,您可以阅读本教程中的示例。
徐建国
2021/12/07
2.1K0
Kettle之“检查表是否存在”
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/53884107
用户1148526
2019/05/25
3.8K0
检测系统是否为检查版本(Checked)
<<Windows internals 5th editon>> page 48.
obaby
2023/02/28
2.2K0
检测系统是否为检查版本(Checked)
检查评论者是否有Gravatar头像
今天Angel来了,同时为风风找到了一个评论方面的BUG——游客身份若使用的邮箱没有Gravatar头像就不能发评论,这对于一些有特殊需要的朋友来说可能算不上BUG,但却不是我的需求,之后发现是comments-ajax.php文件中的以下代码在起作用:
WindCoder
2018/09/20
9290

相似问题

如何监听已连接的QTcpSocket

10

QTcpSocket连接

10

检查kinect是否已连接

41

检查它是否已连接

22

检查插座是否已连接

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文