简书
今天是学习第二天,每天进步一点点,生活变得好一点,我是你们的小宇同学。很开心今天跟大家一起分享我的劳动成果,虽然借鉴别人的劳动成果,但是也是我自己学习的过程中遇到的问题,问题很简单,适合刚刚开发的同学。我在长沙,你在哪里呢?
<1>.引入realm
数据库组件
npm install realm --save
react-native link realm 此命令自动帮你做如下操作
1.app->build.gradle: 引入jar包
implementation project(':realm')
2.Android-MainApplication或者MainActivity
import io.realm.react.RealmReactPackage;
@Verride
protected List<ReactPackage> getPackages(){
...
new RealmReactPackage()
}
3.settings.gradle
include ':realm'
project(':realm').projectDir = new File(rootProject.projectDir,'../node_modules/realm/android')
<2>.引入react-native-device-info
手机设备信息组件
npm install --save react-native-device-info
react-native link react-native-device-info
报错:
Java exception in 'NativeModules'
java.lang.IncompatibleClassChangeError: The method 'java.io.File android.support.v4.content.ContextCompat.getNoBackupFilesDir(android.content.Context)
' was expected to be of type static but instead was found to be of type virtual (declaration of 'com.google.android.gms.iid.zzak' appears in
/data/app/com.rn_screen_project-1/base.apk)
com.learnium.RNDeviceInfo.RNDeviceModule.getConstants
解决办法:
app->build.gradle->dependencies
添加 implementation('com.android.support:support-v4:26.1.0 '){ exclude module: 'support-v4' }
<3>.index.android.bundle报错
1.新建assets
进入 项目路径\android\app\src\main
新建assets文件夹
2.项目根目录 输入命令:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output
android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
image
<4>.var\let\const区别
1.CONST
const定义的变量不可以改变,而且必须初始化
const b = 0; //正确
const b; //错误,必须初始化
consle.log('函数外const定义b:'+b); //有输出值
b = 1; //
consle.log('函数外const定义b:'+b); //无法输出
2.var
定义的变量可以修改,如果不初始化会输出undefined,不会报错
var x = 1;
if(x==1){
var x = 2;
console.log('x==='+x);
}
console.log('x==='+x);
输出结果:
x===2
x===2
3.let
是快级作用域,函数内部使用let定义后,对函数外部无法影响
let x = 1;
if(x==1){
let x = 2;
console.log('x==='+x);
}
console.log('x==='+x);
输出结果:
x===2
x===1
image
网友评论