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

使用react-native-datepicker报AccessibilityInfo缺失错误,求无需降级RN的解决方法

react-native-datepicker无法解析AccessibilityInfo模块的非降级解决方案

问题根因

你本地通过file路径引入的react-native-datepicker包自身的node_modules目录下嵌套安装了旧版本react-native,旧版本的核心模块导入规则和你项目使用的RN 0.61.5版本不匹配,才会触发模块找不到的报错,无需降级RN版本,可按以下方案解决:

可选解决方案

方案1:调整本地datepicker包的依赖声明

  • 进入项目目录下的packages/react-native-datepicker文件夹,打开该目录下的package.json
  • 将dependencies字段中的react-native依赖项移动到peerDependencies字段下,若不存在peerDependencies可自行新增,配置参考:
    "peerDependencies": {
      "react": "*",
      "react-native": ">=0.60.0"
    }
    
  • 删除packages/react-native-datepicker目录下的node_modules文件夹
  • 回到项目根目录,删除根目录的node_modules、package-lock.json(或yarn.lock)后重新执行依赖安装
  • 执行npx react-native start --reset-cache清空缓存重启打包服务即可

方案2:配置metro强制统一RN解析路径

如果不想修改第三方包的配置,可直接在项目根目录新增/修改metro.config.js,强制所有react-native导入都指向项目根目录的RN版本,配置参考:

const path = require('path');

module.exports = {
  resolver: {
    extraNodeModules: {
      'react-native': path.resolve(__dirname, 'node_modules/react-native'),
    },
  },
};

修改完成后清空缓存重启打包服务即可生效。

方案3:替换为官方维护的日期选择库

可直接弃用已停止维护的react-native-datepicker,改用官方社区维护的@react-native-community/datetimepicker,该库适配所有RN 0.60+版本,功能更完善,无需兼容旧包逻辑。

内容的提问来源于stack exchange,提问作者Alok Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:09:02