reactjs - 多次响应实时数据获取
问题描述
当 API 中的货币价格发生变化时,我正在尝试升级我的应用程序更新状态,截至目前,我正在根据请求进行一次 API 调用,但我希望应用程序在 API 价格发生变化时实时更新,我考虑过使用 setTimeout 并多次调用 API,但这最终会导致性能下降并且内存将开始填满,另一方面,并非 API 调用中的所有键都在更改,例如名称或 ID,所以我不需要每次都存储整个信息,我将如何做到这一点?谢谢!
function CENTRAL_HUB() {
const API_URL =
'https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=100&page=1&sparkline=false';
const [coins, setCoins] = useState([]);
useEffect(() => {
axios
.get(API_URL)
.then((res) => {
console.log(res);
setCoins(res.data);
})
.catch((err) => {
console.log(err);
});
}, []); ```
解决方案
一种可能的解决方案 - 有一个 npm 包cron,它允许您在计划的作业触发时执行一个函数。
推荐阅读
- css - 即使容器具有 justify-content: 'space-between',如何让 2 个项目彼此相邻?
- python - 如何将两个序列化程序绑定到单独的一个序列化程序 django rest 框架中?
- azerothcore - 安装某些模块时遇到问题
- macos - 无法在 macOS M1 上构建映像:gcc:错误:缺少“-march=”的参数
- sql - Presto left join SQL 语句只返回第一个匹配
- typescript - Typescript Pick<> 使用类型而不是键
- c++ - 精度问题,3个平面相交处的点精度
- google-sheets - 如何根据谷歌表格中的 2 个条件创建 SKU 生成器
- mysql - MySQL选择所有用户ID,其中'xyz'不是另一个表的列中的值
- sql - 雪花中具有不敏感值的重复数据删除行