react-native踩坑

could not get batchedbridge make sure

  • 上传到github时会忽略assets文件夹,可能需要每次都执行

  • 解决: cd到项目的根目录,执行

      react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
    
    • 如果出现not find directory,则在android/app/src/main下新建assets文件夹即可
    • 成功
    • 同时asset目录下多了两个文件
    • 参考自http://www.open-open.com/lib/view/open1477469117948.html

npm安装模块出错 ERRWindowNT6.1.7601

  • 解决:
    npm config set proxy null
    npm config set https-proxy null
    npm config set strict-ssl false
* 成功
* > 参考自[https://segmentfault.com/q/1010000006696165/a-1020000006779353](https://segmentfault.com/q/1010000006696165/a-1020000006779353)

图片变动需要新启动packager

react-native-router-flux

修改项目目录

  • 将index.android.js和index.ios.js中一起改为

      require('./src/app');
    
  • webstorm中在项目跟目录创建src文件夹,右键new,创建JavaScript File,写入代码即可

修改tabbar背景色为透明

tabBarOptions: {...
    indicatorStyle: {
        backgroundColor: 'transparent'
    },
}   

参考自https://github.com/react-community/react-navigation/issues/788

修改tabbar图标与文字间距

  • 在tabbartabBarOptions的labelStylle设置,而不是通过图片设置

执行结果为上一次的代码

  • 确保设备与电脑在同一个wifi下
  • 确保Dev Setting里设置了正确的主机IP

react-native-swiper

  • 宽高依靠属性设置

循环时需要加key

引入项目

//模块
class MyModule
...
export default MyModule;//export default也可以放在类名前(推荐)

//引入
import moduleA from './.../MyModule'
class Home...

弃:

export default class MyModule
...
module.expoports = MyModule;
var moduleA = require('./.../MyModule');

用StyleSheet.hairlineWidth代替小于1的尺寸

过时

  • mixin
  • React.createClass

ES6

  • 先class,后static/const

object object

  • 解决:控件有没开头大写的

三方包的问题,优先找github上的issues

Unable to resolve module react/lib/ReactComponentWithPureRenderMixin

  • 作者在1.0.0-beta7版本中的header.js中多加了一行引用mixin的import

你可能感兴趣的:(react-native踩坑)