如何在本机反应中生成唯一ID

Posted

技术标签:

【中文标题】如何在本机反应中生成唯一ID【英文标题】:How to generate unique id in react native 【发布时间】:2021-08-13 08:59:33 【问题描述】:

我是新来的反应本地人,并在世博会上从事我的第一个项目。我正在尝试为用户下的每个订单生成唯一 ID,以下是我尝试过的

 const orderId = () => 
    var S4 = () => 
      return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
    ;
    return (
      S4() +
      S4() +
      "-" +
      S4() +
      "-" +
      S4() +
      "-" +
      S4() +
      "-" +
      S4() +
      S4() +
      S4()
    );
  ;
  console.log(orderId);

我在终端得到的是 [函数orderId]

【问题讨论】:

如果你可以使用库,试试这个 -> npmjs.com/package/react-native-uuid 完全有用,易于使用和轻便 嘿,感谢您的回复.. 试过了,它奏效了。谢谢! 请查看jsbin.com/kiyunabesu/edit?js,console 【参考方案1】:

您可以使用以下内容:

https://www.npmjs.com/package/react-native-uuid

npm install react-native-uuid

import uuid from 'react-native-uuid';
uuid.v4(); // ⇨ '11edc52b-2918-4d71-9058-f7285e29d894'

如果您无法在项目中使用其他库,请参阅以下相关问题:How to create a GUID / UUID

【讨论】:

【参考方案2】:

今天遇到这个问题....尝试在 React Native 和 Baaam 中使用 nanoid... 那么......那么为什么不编写我们自己的简单解决方案呢?这个做得很好:)

export function generateUUID(digits) 
    let str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXZ';
    let uuid = [];
    for (let i = 0; i < digits; i++) 
        uuid.push(str[Math.floor(Math.random() * str.length)]);
    
    return uuid.join('');


generateUUID(10) // 7ABLSma6F6
generateUUID(32) // FCGQ91Q5r2y3PkkPFuHhFh9JusMMDFwR

【讨论】:

【参考方案3】:
function guidGenerator()
    vary S4 = function()
        return (((1+Math.random())*0x10000)|0).to String(16).substring(1);
    ;
    return (S4()+S4()+"-"+S4()+"-"+S4()+"-"+S4()+"-"+S4()+S4()+S4());

【讨论】:

以上是关于如何在本机反应中生成唯一ID的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中生成唯一 ID? [复制]

如何在javascript中生成唯一ID? [复制]

在本机反应中生成多个APK?

如何在 Sails.js 中生成唯一的发票 ID

如何在 Postgres 9.6+ 中生成长度为 N 的随机、唯一的字母数字 ID?

在 php 中生成唯一 id(用于 url 缩短器)