如何 link QR code 到猫照片 (REACT)
how to link QR code to a cat photo (REACT)
这里我有一个 ajax 请求获取随机猫的照片
import React, { Component } from 'react';
class RandomCat extends React.Component {
constructor(props) {
super(props)
this.state = {}
this.fetchRandomCatImg = this.fetchRandomCatImg.bind(this)
}
componentDidMount() {
this.fetchRandomCatImg()
}
fetchRandomCatImg() {
fetch("https://aws.random.cat/meow")
.then(response => response.json())
.then(data => {
this.setState({
error: null,
ready: true,
src: data.file
})
})
.catch(error => this.setState({ error }))
}
render() {
if (this.state.error) return <p>Oops, something went wrong!</p>
if (!this.state.ready) return <p>Loading...</p>
return <img src={this.state.src} className="cat" alt="random cat photo" />
}
}
export default RandomCat;
这里我们需要制作一个二维码图像代码,链接到从该调用生成的同一张照片
这意味着我们需要将 cat api 产生的数据传递给另一个获取二维码的 ajax 调用
我尝试这样做但它给了另一张照片(新的)
import React, { Component } from 'react';
class QR extends React.Component {
constructor(props) {
super(props)
this.state = {}
this.fetchQR = this.fetchQR.bind(this)
}
componentDidMount() {
this.fetchQR()
}
fetchQR() {
fetch("https://qrtag.net/api/qr_12.svg?url=https://aws.random.cat/meow" )
.then(response => response.json())
.then(data => {
this.setState({
error: null,
ready: true,
src: data.file
})
})
.catch(error => this.setState({ error }))
}
render() {
if (this.state.error) return <p>Oops, something went wrong!</p>
if (!this.state.ready) return <p>Loading...</p>
return <img className="QR"src={this.state.src} alt="qrtag"/>
}
}
export default QR;
这有点不同,但您可以使用这个包:
https://www.npmjs.com/package/qrcode.react
然后你只需要打一个 API 电话。一旦文件的 URL 处于您的状态,您就可以像这样显示 QR 码:
<QRCode value={this.state.src} />
但是如果你还想使用二维码生成器API,你需要将刚刚抓取到的猫的URL传给这个组件,data.fetch
的值(this.state.src
).
通过了https://aws.random.cat/meow
当然不行
这里我有一个 ajax 请求获取随机猫的照片
import React, { Component } from 'react';
class RandomCat extends React.Component {
constructor(props) {
super(props)
this.state = {}
this.fetchRandomCatImg = this.fetchRandomCatImg.bind(this)
}
componentDidMount() {
this.fetchRandomCatImg()
}
fetchRandomCatImg() {
fetch("https://aws.random.cat/meow")
.then(response => response.json())
.then(data => {
this.setState({
error: null,
ready: true,
src: data.file
})
})
.catch(error => this.setState({ error }))
}
render() {
if (this.state.error) return <p>Oops, something went wrong!</p>
if (!this.state.ready) return <p>Loading...</p>
return <img src={this.state.src} className="cat" alt="random cat photo" />
}
}
export default RandomCat;
这里我们需要制作一个二维码图像代码,链接到从该调用生成的同一张照片 这意味着我们需要将 cat api 产生的数据传递给另一个获取二维码的 ajax 调用 我尝试这样做但它给了另一张照片(新的)
import React, { Component } from 'react';
class QR extends React.Component {
constructor(props) {
super(props)
this.state = {}
this.fetchQR = this.fetchQR.bind(this)
}
componentDidMount() {
this.fetchQR()
}
fetchQR() {
fetch("https://qrtag.net/api/qr_12.svg?url=https://aws.random.cat/meow" )
.then(response => response.json())
.then(data => {
this.setState({
error: null,
ready: true,
src: data.file
})
})
.catch(error => this.setState({ error }))
}
render() {
if (this.state.error) return <p>Oops, something went wrong!</p>
if (!this.state.ready) return <p>Loading...</p>
return <img className="QR"src={this.state.src} alt="qrtag"/>
}
}
export default QR;
这有点不同,但您可以使用这个包: https://www.npmjs.com/package/qrcode.react
然后你只需要打一个 API 电话。一旦文件的 URL 处于您的状态,您就可以像这样显示 QR 码:
<QRCode value={this.state.src} />
但是如果你还想使用二维码生成器API,你需要将刚刚抓取到的猫的URL传给这个组件,data.fetch
的值(this.state.src
).
通过了https://aws.random.cat/meow
当然不行