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
我们解析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。
React Native错误汇总(持续更新)的更多相关文章
- 《WCF技术剖析》博文系列汇总[持续更新中]
原文:<WCF技术剖析>博文系列汇总[持续更新中] 近半年以来,一直忙于我的第一本WCF专著<WCF技术剖析(卷1)>的写作,一直无暇管理自己的Blog.在<WCF技术剖 ...
- DataStage 错误集(持续更新)
DataStage 错误集(持续更新) DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 D ...
- 中国.NET:各地微软技术俱乐部汇总(持续更新中...)
中国.NET:各地微软技术俱乐部汇总(持续更新中...) 本文是转载文,源地址: https://www.cnblogs.com/panchun/p/JLBList.html by 史记微软. ...
- redis日常使用汇总--持续更新
redis日常使用汇总--持续更新 工作中有较多用到redis的场景,尤其是触及性能优化的方面,传统的缓存策略在处理持久化和多服务间数据共享的问题总是不尽人意,此时引入redis,但redis是单线程 ...
- 跟我学SpringCloud | 终篇:文章汇总(持续更新)
SpringCloud系列教程 | 终篇:文章汇总(持续更新) 我为什么这些文章?一是巩固自己的知识,二是希望有更加开放和与人分享的心态,三是接受各位大神的批评指教,有任何问题可以联系我: inwsy ...
- [RN] React Native 错误 Module does not exist in the module map
React Native 错误 Module does not exist in the module map 代码如下: import Login from 'login' import Index ...
- React Native拆包及热更新方案 · Solartisan
作者:solart 版权声明:本文图文为博主原创,转载请注明出处. 随着 React Native 的不断发展完善,越来越多的公司选择使用 React Native 替代 iOS/Android 进行 ...
- 在React Native中集成热更新
最近,在项目DYTT集成了热更新,简单来说,就是不用重新下载安装包即可达到更新应用的目的,也不算教程吧,这里记录一下. 1.热更新方案 目前网上大概有两个比较广泛的方式,分别是 react-nativ ...
- Android源码编译常见错误(持续更新)
本文为个人工作中处理遇到的编译问题做个小结,后续遇到新的问题,持续更新. No such file or directory: 1. 检查路径是否有问题,文件是否存在,若文件存在且路径没问题 2. 检 ...
随机推荐
- Leetcode137. Single Number II只出现一次的数字2
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输入: ...
- Perseus-BERT——业内性能极致优化的BERT训练方案
一,背景——横空出世的BERT全面超越人类 2018年在自然语言处理(NLP)领域最具爆炸性的一朵“蘑菇云”莫过于Google Research提出的BERT(Bidirectional Encode ...
- 1.Js 点击控件区域之外隐藏控件
1.限制对象可以是 div 或者from 2.添加calss =stopProhide 3.需要添加jquery 类库 示例: $("#form_Query").click(fun ...
- 微信小程序滚动到某个位置添加class效果。
<scroll-view scroll-y="true" style="height:100vh;" bindscrolltoupper="up ...
- JS引擎查找属性的原理
原型继承的原理 不断向上查找 funciton getProperty(obj,prop){ if(obj.hasOwnProperty(prop){ return obj[prop]; }else ...
- DjangoORM查询、分页、ckeditor
查询数据 Django的批量查询(查询所有,或者条件查询)返回的是queryset对象. Queryset对象是一个惰性对象,在不执行 1.排序 2.循环 3.截取 操作的情况下,不会遍历序列的内容. ...
- day37 01-上次课内容回顾
- javaScript中的事件对象event是怎样
事件对象event,每当一个事件被触发的时候,就会随之产恒一个事件对象event,该对象中主要包含了关于该事件的基本属性,事件类型type(click.dbclick等值).目标元素target(我的 ...
- 微服务开源生态报告 No.7
「微服务开源生态报告」,汇集各个开源项目近期的社区动态,帮助开发者们更高效的了解到各开源项目的最新进展. 社区动态包括,但不限于:版本发布.人员动态.项目动态和规划.培训和活动. 非常欢迎国内其他微服 ...
- 属性中id和name的区别
id 在HTML中的作用: 1.用id选择相应的style sheet(风格). 2. <A ..> 链接的目的地 3.脚本语言用它找目的地(找该id的标签 ...