微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 React 中使用实验性 Chrome API?

如何解决在 React 中使用实验性 Chrome API?

我正在尝试在 react 中使用 Chrome nfc api(WEB NFC),因此当您在启用了 nfc 的移动设备上打开 react 页面并按下按钮时,它会检查是否有 nfc 扫描。

我正在通读文档和执行此操作的示例代码

scanButton.addEventListener("click",async () => {
  log("User clicked scan button");

  try {
    const ndef = new NDEFReader();
    await ndef.scan();
    log("> Scan started");

    ndef.addEventListener("readingerror",() => {
      log("Argh! Cannot read data from the NFC tag. Try another one?");
    });

    ndef.addEventListener("reading",({ message,serialNumber }) => {
      log(`> Serial Number: ${serialNumber}`);
      log(`> Records: (${message.records.length})`);
    });
  } catch (error) {
    log("Argh! " + error);
  }
});

我的反应页面目前是,

import { Button } from "@material-ui/core";
import React from "react";

const nfcpage = () => {

  return (
    <>
      <Button
        id = "scanButton"
      >
          Press to test NFC
      </Button>
    </>
  );
};

export default nfcpage;

我希望在按下按钮时运行 scanButton 代码。换句话说,将 scanButton 变成一个可以通过 onClick{} 被我的按钮调用函数

谢谢

解决方法

我能够通过从示例代码创建一个异步函数并将其传递给按钮组件中的 onClick 来解决此问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。