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

React Native报No identifiers allowed directly after numeric literal错误如何解决

问题根因

报错是因为你在players.js中使用了ES2021新增的数字分隔符语法(用_分割大数字提升可读性),当前项目的Babel配置未开启该语法的转译支持,打包阶段无法识别该写法,因此抛出「数字字面量后直接跟随标识符」的错误。

解决方案

方案1:快速修复(无需修改配置)

直接删除所有price字段值中的下划线即可,修改后的数字直接写为12200000、8100000这类无下划线的形式,数值本身不会发生任何变化,仅可读性稍差,适合不想改动项目配置的场景。

方案2:保留数字分隔符语法(修改Babel配置)

如果想保留数字分隔符的写法提升代码可读性,可以通过安装Babel转译插件实现支持:

  1. 安装对应依赖
    执行命令:
    npm install @babel/plugin-proposal-numeric-separator --save-dev
    如果使用yarn则执行:
    yarn add @babel/plugin-proposal-numeric-separator --dev
  2. 修改babel.config.js配置,新增插件声明:
module.exports = function(api) {
  api.cache(true);
  return {
    presets: ['babel-preset-expo'],
    plugins: ['@babel/plugin-proposal-numeric-separator']
  };
};
  1. 重启项目开发服务,配置生效后即可正常识别数字分隔符写法。
额外注意事项

你当前的类型定义中Positions是数值枚举,但players.js里的position字段是字符串类型,后续运行可能会出现类型不匹配问题,可以将枚举修改为字符串枚举避免该问题:

enum Positions {
  FWD = 'FWD',
  MID = 'MID',
  DEF = 'DEF',
  GK = 'GK',
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 23:45:03