React Native 常见问题

1.端口被占用:

1.查看端口被占用情况
lsof -i:8081     
输出:
COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    6234 liang   21u  IPv6 0x3167a7d7b37ee3ad      0t0  TCP *:sunproxyadmin (LISTEN)
2.杀掉这个进程
kill -9 6234  

COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称

2.启动时有白色的闪屏现象:

当应用启动时,启动图结束后出现白屏的瞬间,这个过程是加载jibundle包的过程,jibundle包加载完毕之前没有内容,所以才出现了白屏。
解决方案:
延迟启动图的消失,在首页componentWillMount关闭启动图

  • 原生代码实现:

SplashScreen.h

#import <Foundation/Foundation.h>
#import <React/RCTBridgeModule.h>

@interface SplashScreen : NSObject<RCTBridgeModule>
+ (void)show;
@end

SplashScreen.m

#import "SplashScreen.h"
static bool waiting = true;
@implementation SplashScreen
- (dispatch_queue_t)methodQueue{
  return dispatch_get_main_queue();
}
RCT_EXPORT_MODULE()

+ (void)show {
  while (waiting) {
    NSDate* later = [NSDate dateWithTimeIntervalSinceNow:0.1];
    [[NSRunLoop mainRunLoop] runUntilDate:later];
  }
}

RCT_EXPORT_METHOD(hide) {
  dispatch_async(dispatch_get_main_queue(),
                 ^{
                   waiting = false;
                 });
}
@end

  • 使用:
1.在AppDelegate.m 延时显示启动图
didFinishLaunchingWithOptions 方法 return YES之前加上
  [SplashScreen show];
2. 在React Native 中 隐藏启动图
 componentWillMount (){
        if (Platform.OS === 'ios') {
            let SplashScreen = NativeModules.SplashScreen;
            SplashScreen.hide();
        }
    }

3.真机调试 No bundle URL present 杀掉模拟器什么的也不起作用

在build Phases ->Bundle React Native code and images 添加脚本

export NODE_BINARY=node
../node_modules/react-native/scripts/react-native-xcode.sh
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,435评论 0 5
  • lsof简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何...
    壹人城阅读 275评论 0 0
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,214评论 2 33
  • 作为一个有三四年工作经验的职场人,当我看到《华为你学不会》这部书的时候,我收获最大的就是:一个对我的人生和职场生涯...
    62c815eeb77e阅读 251评论 0 1
  • 原来坚持一年就是挺难的
    慧娜阅读 139评论 0 0