reactjs - 响应多个 api 请求
问题描述
所以作为我的个人项目,我想追踪所有的 WSB stonks。不幸的是,使用 alpha 优势的 api 让您对不同的符号提出了多个请求(如果我错了,请纠正我)。我想知道我是否可以只使用一种状态并在一个组件中映射它们,而不是为每个单独的符号设置多个状态并将它们多次传递给同一个组件。正如您从下面的代码中看到的那样,我正在尝试将我的 gmedata、amcdata、tesladata 和 pltrdata 设置为一个名为 allstockdata 的变量,然后是 setStock(allstockData) 但它失败了 =(
import stockApi from "../apis/stockApi";
import cryptoApi from "../apis/cryptoApi";
const StonkList = () => {
const [cryptos, setCryptos] = useState([]);
const [stocks, setStocks] = useState([]);
const [gme, setGme] = useState([]);
const [amc, setAmc] = useState([]);
const [tesla, setTesla] = useState([]);
const [palantir, setPalantir] = useState([]);
const fetchData = async () => {
const cryptoData = await cryptoApi.get("/coins/markets/", {
params: {
vs_currency: "usd",
ids: "bitcoin, dogecoin",
},
});
const gmeData = await stockApi.get("", {
params: {
function: "TIME_SERIES_DAILY_ADJUSTED",
symbol: "GME",
apikey: "EZ8JMJUGE397BZEU",
},
});
const amcData = await stockApi.get("", {
params: {
function: "TIME_SERIES_DAILY_ADJUSTED",
symbol: "AMC",
apikey: "EZ8JMJUGE397BZEU",
},
});
const teslaData = await stockApi.get("", {
params: {
function: "TIME_SERIES_DAILY_ADJUSTED",
symbol: "TSLA",
apikey: "EZ8JMJUGE397BZEU",
},
});
const pltrData = await stockApi.get("", {
params: {
function: "TIME_SERIES_DAILY_ADJUSTED",
symbol: "GME",
apikey: "EZ8JMJUGE397BZEU",
},
});
const [gmeData, amcData, teslaData, pltrData] = allStockData;
setCryptos(cryptoData.data);
setStocks(allStockData.data);
console.log(cryptoData.data);
console.log(allStockData.data);
};
useEffect(() => {
fetchData();
}, []);
return <div></div>;
};
export default StonkList;
解决方案
结构不对,应该是:
const allStockData = [gmeData, amcData, teslaData, pltrData];
当你这样做
const [gmeData, amcData, teslaData, pltrData] = allStockData;
它试图找到gmeData, amcData, teslaData, pltrData
里面allStockData
不存在的值
您可以在此处查看示例,只需取消注释行,看看您会得到什么错误
推荐阅读
- php - 将文件从 Google Drive Server 直接复制到自己的服务器
- c# - XMLReader 读取到下一个未知类型的兄弟
- python - 随着时间的推移在两个傅立叶变换之间进行插值
- javascript - 使用 d3.js 将数据从 csv 文件显示到 BarGraph
- javascript - Browserify 转换插件,用于评估 IIFE 并在捆绑期间用其结果替换
- python - 从不等形状的一维数组构造二维numpy数组| 麻木的
- python - 使用 Numpy 进行多维批量图像卷积
- graph - 如何使用 Gremlin 提高最短路径的性能?
- html - 表响应在 IOS 浏览器中不起作用
- jquery - 在jQuery中的另一个子元素中查找子元素