javascript - React:渲染一个数据数组
问题描述
处理我的第一个反应项目,但在如何循环并将我的数据呈现到前端方面没有任何进展。
我正在使用 axios 从 MySQL 数据库中获取股票代码列表,对于其中的每一个,我再次使用 axios 从外部网站上抓取一些值。
请参阅下面的代码片段:
const fetchStocks = () => {
let stocksList = []
Axios.get('http://localhost:3001/fetchStocks').then((response) => {
response.data.map((val, key) => {
const url = 'https://www.tradegate.de/orderbuch.php?isin=' + val.stockTicker
Axios.get(url).then((response) => {
let $ = cheerio.load(response.data)
let name = $('#col1_content h2')[0].children[0].data
let last = $('#last')[0].children[0].data
let delta = $('#delta')[0].children[0].data
let high = $('#high')[0].children[0].data
let low = $('#low')[0].children[0].data
stocksList.push({
sId: val.sId,
stockName: name,
stockTicker: val.stockTicker,
stockLast: last,
stockDelta: delta,
stockHigh: high,
stockLow: low
})
})
})
})
}
当我这样做时, console.log(stocksList)
我几乎得到了我想要的:
[
{
"sId": 3,
"stockName": "Tesla Inc.",
"stockTicker": "US88160R1014",
"stockLast": "1 049,80",
"stockDelta": "+8,90%",
"stockHigh": "1 049,80",
"stockLow": "966,90"
},
{
"sId": 1,
"stockName": "Apple Inc.",
"stockTicker": "US0378331005",
"stockLast": "128,00",
"stockDelta": "-1,16%",
"stockHigh": "130,28",
"stockLow": "127,70"
},
{
"sId": 2,
"stockName": "Intel Corp.",
"stockTicker": "US4581401001",
"stockLast": "42,725",
"stockDelta": "+0,78%",
"stockHigh": "42,85",
"stockLow": "42,37"
}
]
我现在想做类似的事情:
{
stocksList.map(stock => {
return (
<li key = {stock.sId}>{stock.stockName}</li>
)
})
}
对于数据库中的每个条目,但到目前为止我没有运气,也不太明白我错在哪里 - 我在猜测我是如何设置数组的?
解决方案
由于您要返回 JSX,因此您可能希望使用 () 大括号而不是 {}。
{
stocksList.map(stock => (
return (
<li key = {stock.sId}>{stock.stockName}</li>
)
))
}
或者简单地说:
{
stocksList.map(stock => <li key = {stock.sId}>{stock.stockName}</li>)
}
PS我也没有看到您尝试渲染数组的代码的一部分
推荐阅读
- components - React js 中的表单数据
- node.js - 在 Node-Red 中使用预训练模型进行部署\生产阶段
- node.js - 为什么我使用 frontend-maven-plugin 构建 vue 有一个空的错误
- php - 上下两站之间的路线
- php - 我面临这个错误 - 消息:语法错误,意外的“返回”(T_RETURN),期待标识符(T_STRING),我错过了什么?我在下面提到的代码
- c++ - 无法打开文件“winsock2.lib”C++
- etl - Pentaho Dimension Lookup/Update 死锁错误
- php - 在 PHP 中的字符串中生成反斜杠
- python - 使用循环创建 seaborn displot
- ruby - Object Ruby 中的模块方法