如何在本机反应中生成唯一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的主要内容,如果未能解决你的问题,请参考以下文章