javascript - node.js ES6如何将值传递给html元素
问题描述
我想用 es6 创建 qrcode,我想将函数的返回值传递generateQR()
给<img>
元素,但是出现 404 错误,我该如何解决,这是我的代码:
// index.js:
const QRcode = require('qrcode');
class index extends Component{
generateQR = async text => {
let qrSrc = "";
try {
qrSrc = await QRcode.toDataURL(text);
} catch(err){
console.log(err);
}
return qrSrc;
}
render(){
return(
<div>
<img src={this.generateQR("www.hello.world")}/>
<div/>
)
}
}
解决方案
generateQR
是异步的。它返回一个承诺。当 QR 准备好时,您应该使用state
并重新渲染组件:
创建一个单独的组件来生成 QR 码。
// components/QRCode.js
import React, { useEffect, useState } from "react";
import { toDataURL } from "qrcode";
function QRCode({ text }) {
const [src, setSrc] = useState("data:image/gif");
useEffect(() => {
toDataURL(text).then((qr) => setSrc(qr));
}, [text]);
return <img src={src} alt="qr" />;
}
export default QRCode
然后像这样导入并使用它
<QRCode text="hello world"/>
推荐阅读
- mongodb - 如何做MongoDB聚合
- laravel - 考试是否过期或未使用 laravel 控制器
- azure - Ansible 在 azure 批处理节点上更新 HKEY
- c - 如果两个库都在同一个DLL文件中使用,我们可以在两个不同的库文件中使用相同的函数吗?
- c++ - 包含的 cpp 库上的宏正在破坏代码库的其余部分
- eclipse - 最大化 MPlaceolder 的方法失败,MArea 的父级为空
- python - ModuleNotFoundError:没有名为“allennlp.data.iterators”的模块
- c# - EntityFramework Core 中的 SQL 元组比较
- javascript - 使用 node.js 服务器和反应应用程序的 POST 请求错误抛出 404
- sql - 用于自动更改列类型的 PLSQL 过程