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

React Native中uuidv4函数报错:undefined is not a function

React Native中uuidv4调用报错的解决方法

问题描述

导入代码:

import 'react-native-get-random-values';
import { parse as uuidParse, stringify as uuidStringify, v4 as uuidv4 } from 'uuid';

执行时,uuidParse和uuidStringify功能正常,但调用uuidv4()时抛出错误:ERROR [TypeError: undefined is not a function]

解决方案

  • 严格控制导入顺序
    确保import 'react-native-get-random-values';是所有导入语句中的第一条,uuid的导入必须在它之后,不能有其他代码或导入插在中间。uuid的v4方法依赖这个随机数生成器,加载顺序错误会导致v4未被正确初始化。

  • 检查uuid版本与导入方式

    • 若使用uuid v9+版本,尝试改用全量导入:
      import 'react-native-get-random-values';
      import * as uuid from 'uuid';
      // 调用方式改为 uuid.v4()
      
    • 若问题仍存在,降级uuid到v8.x版本,该版本与react-native-get-random-values兼容性更稳定。
  • 清除缓存并重建项目
    执行以下命令清除React Native缓存并重新构建:

    # 重置metro缓存
    npx react-native start --reset-cache
    # 重新安装依赖
    rm -rf node_modules && npm install
    # iOS端额外执行
    cd ios && pod install && cd ..
    
  • 旧版本React Native的额外配置(RN 0.60以下)

    • Android:在android/app/build.gradle的dependencies块中添加implementation 'com.facebook.react:react-native:+'
    • iOS:确保执行pod install后,Pods目录中存在RNCGetRandomValues组件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:35:00