You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

引入react-native-video组件时出现TypeError错误求助

问题解决:react-native-video 报错 TypeError: undefined is not an object (evaluating '_reactNative.Image.propTypes.resizeMode')

问题原因

你遇到的错误是因为react-native-video版本与当前React Native版本不兼容:较新的React Native版本已经移除了Image.propTypes这个API,而你使用的react-native-video旧版本仍在依赖这个已弃用的属性,导致调用时出现undefined错误。

解决方案

方案1:升级react-native-video到兼容版本(推荐)

这是最稳妥的解决方式,升级到适配你当前React Native版本的最新版:

  1. 卸载旧版本:
    # npm
    npm uninstall react-native-video
    # 或 yarn
    yarn remove react-native-video
    
  2. 安装最新稳定版:
    # npm
    npm install react-native-video
    # 或 yarn
    yarn add react-native-video
    
  3. 若你的React Native版本在0.60+,会自动完成依赖链接,无需额外操作;低版本RN需手动执行链接命令:react-native link react-native-video

方案2:临时修复源码(不推荐,仅应急)

如果暂时无法升级,可以手动修改react-native-video的源码来规避问题,但注意执行npm install/yarn install后修改会被覆盖:

  1. 找到项目中的node_modules/react-native-video/Video.js文件
  2. 在文件顶部添加PropTypes的导入:
    import PropTypes from 'prop-types';
    
  3. 找到引用_reactNative.Image.propTypes.resizeMode的代码段,替换为:
    resizeMode: PropTypes.oneOf(['cover', 'contain', 'stretch', 'repeat', 'center'])
    

方案3:确认版本兼容性

查看react-native-video官方文档,确认你当前React Native版本对应的兼容版本号,选择匹配的版本安装,避免版本不匹配问题。

内容的提问来源于stack exchange,提问作者Principe Mestizo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 12:30:42