React Native 坑总结(持续更新)

1.React-native Cannot find module 'invariant'

当你执行命令 react-native init AwesomeProject想要新建一个项目时遇到这个问题,则是因为你的npm版本没有适配最新的RN要求。

解决办法npm install -g npm
更新npm后即可 npm -v 可查询npm版本

2.Invariant Violation:Application xxx has not been registered.

情况一:首先确定你没有在运行其他的RN项目,否则端口被占用是没法注册成功的

情况二:你真的注册失败了
检查目录下的index.ios.js

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

与iOS项目文件目录下的appDelegate.m

      RCTRootView*rootView =[[RCTRootViewalloc]initWithBundleURL:jsCodeLocation
    moduleName:@"xxx" launchOptions:launchOptions];

或是android工程文件下的MainActivity.java

    mReactRootView.startReactApplication(mReactInstanceManager, "xxx", null);

没有保持一致

解决方法xxx统一为你的项目名称即可。

3.遇到旧项目中库的函数返回值不对时,位于RCTSRWebSocket.m

Paste_Image.png

替代为下面的代码:

      int result = SecRandomCopyBytes(kSecRandomDefault, keyBytes.length, keyBytes.mutableBytes);
      assert(result == 0);
屏幕快照 2017-02-22 下午5.36.59.png

替代为下面的代码:

  (void)SecRandomCopyBytes(kSecRandomDefault, sizeof(uint32_t), (uint8_t *)mask_key);

你可能感兴趣的:(React Native 坑总结(持续更新))