如何在 React Native 中生成唯一 ID

How to generate unique id in react native

我是 React Native 的新手,正在从事我在 expo 的第一个项目。我正在尝试为用户下的每个订单生成唯一 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);

我在终端得到的是 [函数顺序编号]

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());
}

您可以使用以下内容:

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

运行 今天遇到这个问题....尝试在 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