【发布时间】:2020-06-02 13:46:29
【问题描述】:
我设法将生成的 UUID 复制到我的剪贴板中,但是每当我单击按钮时,即使页面没有刷新,UUID(和 QR 码)也会发生变化。如何防止 UUID 改变其状态?请参考以下代码;
import React, { useState } from "react";
import Typography from "@material-ui/core/Typography";
import Button from "@material-ui/core/Button";
import FileCopyIcon from "@material-ui/icons/FileCopy";
import { v4 as uuid } from "uuid";
import QRCode from "react-qr-code";
import { CopyToClipboard } from "react-copy-to-clipboard";
export default function QRGenerator() {
const adminId = uuid();
const [qrcode, setQrcode] = useState({
value: "",
copied: false,
});
return (
<div>
<CopyToClipboard
text={adminId}
onCopy={() => setQrcode({ copied: true })}
>
<Button>
<FileCopyIcon />
</Button>
</CopyToClipboard>
<Typography align="center" variant="caption" paragraph="true">
Admin ID : {adminId}
{qrcode.copied ? <span style={{ color: "red" }}>Copied.</span> : null}
</Typography>
<QRCode value={adminId} />
</div>
);
}
【问题讨论】:
标签: javascript reactjs react-hooks qr-code