React-native:Undefined is not an object

本文介绍了如何解决React Native中出现的Undefined is not an object错误,包括升级或降级React Native版本的方法,以及安装PropTypes包并调整其引用方式的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Undefined is not an object(evaulating PropTypes.arrayOf)
Undefined is not an object(evaulating PropTypes.func)
undefined is not an object evaluating ReactInternals.ReactCurrentOwner

undefined is not an object

针对这样的报错,如果排除拼写错误,则基本是ReactNative版本问题。

解决办法:升级或降级React-Native 版本

方法1:
查看react-native 历史版本信息
npm info react-native;

升级
npm install –save react-native@x.x.x(x.x.x版本号)

react-native –save react@x.x.x(x.x.x版本号)

方法2:
删除nodemodules目录;

修改package.json:

    "react": "^16.0.0",
    "react-native": "^0.50.4"

这里是升级到最新版本。

执行npm install命令。

对于 Undefined is not an object(evaulating PropTypes.arrayOf)
Undefined is not an object(evaulating PropTypes.func)
这样的报错,PropTypes未识别。是由于React 在15.5版本将PropTypes独立出来,作为一个单独的module。

这样的错误还需要安装PropTypes 包,并改变PropTypes的引入方式:

安装PropTypes

npm install --save prop-types

对PropTypes的引用方式进行修改

import  {PropTypes} from 'prop-types';//es6

var PropTypes=require('prop-types');//es5

以上两种方式,只需使用一种。

脚本自动修改,待续。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值