• React Native错误汇总(持续更新)


    错误1 Element type is invalid…:

    错误描述:
    Element type is invalid: expected a String(for built-in components) or a class/function(for composite components) but got:object. check the render method of ‘….’

    这里写图片描述
    这个错误是很不容易发现的原因是由于ES5语法和ES6语法混乱搭配导致的。

    ES5 语法 导出模块

    module.exports = Page2;

    ES5语法 引入模块

    var NaviBar = require('./NaviBar');

    ES6 导出语法

    export  default class Page2 extends Component {

    ES6 语法 导入模块

    import NaviBar from './NaviBar';

    两种语法混乱使用, 比如用ES6 导出 用ES5导入, 就可能会产生上述错误

    错误2

    错误描述:
    cannot call a class as a function

    这里写图片描述

    这种错误一般都是手误导致的, 错误直译就是不能调用一个类作为一个函数。
    这个错误一般情况下是不好找的,可以看到 错误详情第二部分指向的是ImageEquallyEnlarge.js 中的第11行, 这个文件是我创建的, 第11行是构造方法:

       constructor(props) {
            super(props);
            // 初始状态
            this.state = {
                //状态机变量是一个style, 它将被用于定义显示图片的样式
                style: {}
            };
            this.onImageLayout=this.onImageLayout.bind(this);
        }

    而错误地方一般不是第11行导致的,
    原因很多, 我只列举下我的错误原因:
    这个文件我声明了一个名字叫ImageEquallyEnlarge的组件, 为了方便使用,我声明了两个属性:

    //控件属性
    ImageEquallyEnlarge.propTypes = {
        originalWidth: React.PropTypes.number.isRequired,
        originalHeight: React.PropTypes.number.isRequired
    };

    而产生的错误恰恰是因为这处我不小心写错了一个单词,propTypes写成了prototype

    //控件属性
    // 声明必须要有的图片原始宽度与高度
    ImageEquallyEnlarge.prototype = {
        ...
    };

    这样就导致了上面的错误。 有时候越是粗心犯的错误越是不好解决, 大家开发的时候一定要细心。

    错误4

    错误描述
    cannot read property ‘stringify’ of undefined

    Paste_Image.png
    我们解析json对象是会用到stringify

    let studentData = require('./data/student.json');
    let newJSONString=JSON.stringify(studentData);

    stringify是JSON对象中的方法, JSON是JS自带的API,不要在React Native中引入了。如果你引入JSON默认就指向了一个空的引用就会报这个错
    所以千万不要在代码里这么写:

    import React, {Component} from 'react';
    import {
        AppRegistry,
        StyleSheet,
        View,
        Text,
        JSON  //不要写JSON
    } from 'react-native';

    更多精彩请关注微信公众账号likeDev,公众账号名称:爱上Android。
    这里写图片描述

  • 相关阅读:
    解决大量TCPIP连接后出现“因为系统缺乏足够缓冲区空间或者因为队列已满无法执行套接字上操作”的问题
    网站/网页 变灰的方法
    [收藏]General things to take into consideration while doing socket programming.
    数据库主体在该数据库中拥有 架构,无法删除解决方法
    Word字体与像素的对应关系
    50个网站设计开发必备的资源素材网站
    apache实现页面重定向(地址跳转)
    JS eval(function(p,a,c,k,e,r){e=function(c)*****解密
    JS打印指定区域内容
    如何才能做到网站高并发访问? .
  • 原文地址:https://www.cnblogs.com/hehe520/p/6329889.html
Copyright © 2020-2023  润新知