【RN - 基础】之React Native常见问题及解决方案

unable to load script from assets index.android.bundle...

问题原因:
找不到Android项目中的assets文件夹。
解决方案:

1、在Android/app/src/main目录下创建一个空的assets文件夹
2、在RN项目根目录运行以下代码:
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
3、重新运行项目

Could not install the app on the device...

问题原因:
在Android项目中导入图片之后,有些图片不符合RN的读取规范,因此报错。
解决方案:

在Android项目app目录下的build.gradle文件中android{ }代码块内添加以下两行代码:
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false

this 引起的 Undefined is not an object

问题原因:
this指向的对象是直接包裹this的那个对象。有些时候如果调用this.setState()方法的this对象不是全局的this,就容易造成上述错误。
解决方案:

// 定义一个全局的thiz对象,指向最初的this
let thiz;
export default class MyPage extends Component<{}> {
    constructor(props) {
        super(props);
        this.state = { activePage: 0 };
    }
    render() {
        thiz = this;
        return (
            // ......
        );
    }
    XXXXXXXXX(e) {
        let currPage = XXXXXXX;
        thiz.setState({ activePage: currPage });
    }
}

NPM安装总出错

问题原因:
NPM下载镜像的问题。
解决方案:

打开cmd,依次输入下面两行代码:
npm config set registry https://registry.npm.taobao.org 
npm info underscore
如果第二行代码输入完毕后回车显示result,则表示成功了。

The development server returned response error code: 500

问题原因:
React-Native包没有安装。
解决方案:

仔细检查项目,查找有没有什么包没有安装,安装完成后,问题消失。

posted on 2018-01-09 17:20  ITGungnir  阅读(398)  评论(0编辑  收藏  举报

导航