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

升级React Native版本后react-native-date-picker组件无法正常工作

升级React Native版本后react-native-date-picker组件无法正常工作

看起来你在把React Native从0.62.7升级到0.73.3后,遇到了react-native-date-picker的兼容性问题,这个TypeError: null is not an object (evaluating 'NativeModule.openPicker')错误很常见,通常是旧版本组件和新RN版本不兼容,或者链接/缓存出了问题。我给你几个实用的排查和解决方向:

  • 升级组件到兼容版本:你当前使用的react-native-date-picker@4.4.0版本比较老旧,而RN从0.62到0.73的跨度极大,很多底层API和架构都有变化,旧组件大概率无法适配。建议直接升级到组件的最新稳定版本,执行命令:

    npm install react-native-date-picker@latest
    # 或者用yarn的话
    yarn add react-native-date-picker@latest
    

    升级后记得删除node_modules,重新安装依赖,避免缓存干扰。

  • 重新处理原生端依赖链接:

    • 对于iOS:进入ios目录,删除Pods文件夹和Podfile.lock,然后执行pod install,确保原生依赖正确安装。
    • 对于Android:进入android目录,执行./gradlew clean清理gradle缓存,再回到根目录重新构建项目。
  • 清理RN项目缓存:跨大版本升级后,metro缓存很容易导致奇怪的问题,执行以下命令重启metro并清空缓存:

    npx react-native start --reset-cache
    
  • 检查新架构适配情况:RN 0.70+默认支持新架构(Fabric),如果你的项目开启了新架构,而旧版本的react-native-date-picker并没有适配新架构,就会出现这类NativeModule找不到的错误。如果暂时不需要新架构,可以先关闭它;如果要保留新架构,必须确保升级后的组件版本支持新架构(最新版本的react-native-date-picker已经支持了)。

  • 核对组件API变化:升级组件后,少数API可能有细微调整,你可以对照组件的官方文档,确认你代码中的用法(比如modal、open这些属性)是否仍然符合最新规范。从你贴的代码片段来看,基本用法是没问题的,但还是建议快速核对一下。

备注:内容来源于stack exchange,提问作者freaklessgamer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 11:28:03