javascript - 如何在反应中使用获取的 const 值?
问题描述
const fetchStocks = () => {
const API_KEY = "dddd";
const StockSymbol = 'IBM';
const API_Call = `https://www.alphavantage.co/query?function=OVERVIEW&symbol=${StockSymbol}&apikey=${API_KEY}`;
const StockSymbols = [];
const StockName = [];
const StockIndustry = [];
fetch(API_Call)
.then(
function (response) {
return response.json();
}
)
.then(
function (data) {
console.log(data);
StockSymbols.push(data['Symbol']);
StockName.push(data['Name']);
StockIndustry.push(data['Industry']);
console.log(StockName)
console.log(StockSymbols)
console.log(StockIndustry)
})
// const table = {
// columns: [
// { headername: "Symbol", field: "symbol" },
// { headername: "Name", field: "name" },
// { headername: "Industry", field: "industry" }
// ],
// rowData: [
// { symbol: StockSymbols, name: StockName, industry: StockIndustry }
// ]
// }
return (
<div>
{StockSymbols}, {StockName}, {StockIndustry}
</div>
)
};
导出默认 fetchStocks;
我正在尝试使用 Alpha Vantage 获取股票名称、代码和行业。
但是当我尝试将它们与 {StockSymbols}、{StockName}、{StockIndustry} 一起用于返回部分时,
什么都没有过去,什么也没有出现。
我必须做什么才能使用它们?
解决方案
希望这是您正在寻找的,因为您的问题不够自我解释。
- 创建组件状态
const [data, setData] = useState({StockName: null, StockSymbols: null, StockIndustry: null})
- 移入
fetch(API_Call)
useEffect 挂钩。(componentDidMount 以防不使用钩子)
useEffect(() => {
fetch(API_Call)
.then(
function (response) {
return response.json();
}
)
.then(
function (data) {
setData({
StockName: data['Symbol'],
StockSymbols: data['Name'],
StockIndustry: data['Industry']
})
})
}, [])
- 在 JSX 中使用组件状态
return (<>
<p>{data.StockName}</p>
<p>{data.StockSymbols}</p>
<p>{data.StockIndustry}</p>
</>
推荐阅读
- css - CSS 以显示相同高度的两列 - 取决于添加的内容。
- google-chrome-extension - 如何在开发(未打包)时使所有选项卡上的 Chrome 扩展程序可用?
- liquibase - mysql 不支持 setColumnRemarks
- android - 用于 root android 的设备管理应用程序
- node.js - 如何修复 npm:未找到错误
- r - rcpp 文件中有多个函数且没有匹配的函数
- ios - iOS 鸭其他过铃声
- java - 什么是 Vaadin UI 以及如何在 UI 之间导航
- pandas - 联合行计算平均值/总和
- php - 如何修复 Visual Studio Code 中的以下 phpcs 错误?