定期更新 span 中的值
Update value in span periodically
React/JS这里是新手
我有一个简单的 React 应用程序,页面从 ItemCounter
API-Gateway 获取一个数字。该代码现在可以正常工作,它能够从 lambda/apig url.
中获取一个值
import React, { useState, useEffect } from "react";
const Stats = () => {
const [ItemsSupplied, setItemsSupplied] = useState(0);
useEffect(async () => {
signIn();
}, []);
async function signIn() {
// Async Signin functions and calls, followed by getData() call
getData();
}
async function getData() {
let url = "https://re1szvliqk.execute-api.us-east-2.amazonaws.com/ItemCounter";
const response = await fetch(url);
const number = await response.json();
setItemsSupplied(number);
}
return (
<div>
<span> Items Supplied: {ItemsSupplied} </span>
</div>
);
};
export default Stats;
我正在寻找一种方法来定期 refresh/update 这个值,比方说每 5 秒一次,但无法弄清楚。
试过这个:,但无法将其与我的页面合并,运行 出现错误。错误与以下事实有关 signIn()
,因此 getData()
已经在 useEffect()
.
中被调用
希望有人能帮帮我,谢谢!
您需要再添加一个useEffect
,其中您需要设置每5秒的时间间隔。
import React, { useState, useEffect } from "react";
const Stats = () => {
const [ItemsSupplied, setItemsSupplied] = useState(0);
useEffect(() => {
signIn();
}, []);
useEffect(() => {
let timer = setInterval(()=>getData(),5000)
return ()=>clearInterval(timer)
},[ItemsSupplied]);
async function signIn() {
// Async Signin functions and calls, followed by getData() call
getData();
}
async function getData() {
let url = "https://re1szvliqk.execute-api.us-east-2.amazonaws.com/ItemCounter";
const response = await fetch(url);
const number = await response.json();
setItemsSupplied(number);
}
return (
<div>
<span> Items Supplied: {ItemsSupplied} </span>
</div>
);
};
export default Stats;
React/JS这里是新手
我有一个简单的 React 应用程序,页面从 ItemCounter
API-Gateway 获取一个数字。该代码现在可以正常工作,它能够从 lambda/apig url.
import React, { useState, useEffect } from "react";
const Stats = () => {
const [ItemsSupplied, setItemsSupplied] = useState(0);
useEffect(async () => {
signIn();
}, []);
async function signIn() {
// Async Signin functions and calls, followed by getData() call
getData();
}
async function getData() {
let url = "https://re1szvliqk.execute-api.us-east-2.amazonaws.com/ItemCounter";
const response = await fetch(url);
const number = await response.json();
setItemsSupplied(number);
}
return (
<div>
<span> Items Supplied: {ItemsSupplied} </span>
</div>
);
};
export default Stats;
我正在寻找一种方法来定期 refresh/update 这个值,比方说每 5 秒一次,但无法弄清楚。
试过这个:signIn()
,因此 getData()
已经在 useEffect()
.
希望有人能帮帮我,谢谢!
您需要再添加一个useEffect
,其中您需要设置每5秒的时间间隔。
import React, { useState, useEffect } from "react";
const Stats = () => {
const [ItemsSupplied, setItemsSupplied] = useState(0);
useEffect(() => {
signIn();
}, []);
useEffect(() => {
let timer = setInterval(()=>getData(),5000)
return ()=>clearInterval(timer)
},[ItemsSupplied]);
async function signIn() {
// Async Signin functions and calls, followed by getData() call
getData();
}
async function getData() {
let url = "https://re1szvliqk.execute-api.us-east-2.amazonaws.com/ItemCounter";
const response = await fetch(url);
const number = await response.json();
setItemsSupplied(number);
}
return (
<div>
<span> Items Supplied: {ItemsSupplied} </span>
</div>
);
};
export default Stats;