React Native升级后Expo Go报错:props.pointerEvents已弃用
升级React Native后Expo Go端报错
props.pointerEvents is deprecated,网页端正常 问题描述
升级React Native到最新版本后,项目在Expo Go里完全无法运行,但网页端能正常工作。控制台持续弹出警告:
WARN props.pointerEvents is deprecated. Use style.pointerEvents
我未修改过代码库,怀疑是Metro打包器或项目配置的问题,试过彻底删除node_modules重装、切换回旧版本,都没解决,想问有没有其他开发者遇到过同样的情况?
可能的解决方案
- 排查第三方依赖:不少UI组件库或工具库可能还没适配新版本React Native,仍在使用
props.pointerEvents而非style.pointerEvents。可以用包管理器命令定位问题依赖:- npm用户:
npm ls pointer-events - yarn用户:
yarn why pointer-events
找到对应依赖后,优先更新该库到兼容版本,或者暂时降级到适配当前RN的版本。
- npm用户:
- 临时屏蔽警告(仅应急使用):如果暂时找不到依赖问题,可以在
metro.config.js里添加警告过滤逻辑,避免警告阻塞运行:
module.exports = { transformer: { getTransformOptions: async () => ({ transform: { experimentalImportSupport: false, inlineRequires: true, }, }), }, logger: { warn: (message) => { if (!message.includes('props.pointerEvents is deprecated')) { console.warn(message); } }, }, };
- 同步Expo SDK版本:确保Expo SDK和React Native版本匹配,单独升级RN但不同步升级Expo SDK很容易出现兼容性问题。核对Expo官方版本对应表,同步升级expo、expo-cli等相关依赖。
- 彻底清理缓存:除了删除node_modules,还要清空Metro的缓存,执行命令:
npx expo start --clear
旧缓存里的残留代码可能会导致这类奇怪的兼容性问题。
内容的提问来源于stack exchange,提问作者Neil DeGrasse Tyson
相关产品推荐
相关产品推荐

