React 中的大数字

问题描述 投票:0回答:4

我在 SQL Server 中的表中有一个 Bigint 列作为主键,当我在 React 中使用

axios
fetch
向客户端请求时,它的 id 存在问题,例如
9223372036854775800
并将它们全部转换为
9223372036854776000
!!!,

我该如何解决这个问题?

javascript reactjs bigint
4个回答
6
投票

要在 React 中启用 BigInt,您必须将此注释添加到代码中:

/* global BigInt */

请参阅


1
投票

要解决此问题,您可以在前端发送字符串而不是数字。原生js不支持大数。如果你想在前端处理大数字,你可以使用bignumber js库:https://github.com/MikeMcl/bignumber.js/

就您而言: 1.在前端发送字符串。 2. 获取数字作为字符串并创建

BigNumber('9223372036854775800')


0
投票

在 MySQL 连接配置中,提供一个属性

supportBigNumbers: true,

0
投票

package.json
eslint 配置块中添加 es2020 支持,例如:

"eslintConfig": {
  "extends": [
    "react-app",
    "react-app/jest"
  ],
  "env": {
    "es2020": true
  }
}

不要忘记重新启动服务器

© www.soinside.com 2019 - 2024. All rights reserved.