react-native-maps报错:undefined is not an object (evaluating 'PropTypes.string')求助
解决react-native-maps中
undefined is not an object (evaluating 'PropTypes.string')报错 这个报错我之前做RN项目时也踩过坑,根源其实很明确:React Native从0.44版本开始,就把PropTypes从核心库剥离到了单独的prop-types包,而你用的react-native-maps版本(尤其是偏旧的版本)依赖这个包,但你的项目里没安装它,或者依赖链出了问题。
结合你给出的package.json片段,我整理了几个针对性的解决步骤:
步骤1:安装prop-types依赖
在项目根目录执行命令补全依赖:
npm install prop-types --save # 用yarn的话就执行 yarn add prop-types
步骤2:检查react-native-maps版本兼容性
你当前用的native-base是^2.3.10,这个版本比较老旧,对应的react-native-maps也得用兼容的版本。建议查看react-native-maps的版本说明,确保它和你的React Native版本匹配。如果版本差异太大,可尝试安装指定兼容版本:
# 示例:安装0.27.1版本的react-native-maps,适配旧版RN npm install react-native-maps@0.27.1 --save
步骤3:清理缓存并重新构建
缓存经常会导致依赖不生效,执行以下命令清理后重启项目:
# 清理npm缓存 npm cache clean --force # 清理RN本地缓存 npx react-native start --reset-cache # iOS项目重新构建 npx react-native run-ios # Android项目重新构建 npx react-native run-android
另外也可以检查下MapMaker相关的代码,确保没有手动写错PropTypes的引用方式——比如别再用React.PropTypes,而是要通过import PropTypes from 'prop-types'来引入使用。
内容的提问来源于stack exchange,提问作者Dzeremix
相关产品推荐
相关产品推荐

