javascript - 如何使用反应分隔数组中的项目
问题描述
用户.js
import React, { useState, useEffect } from 'react';
import Axios from 'axios';
const RecommendationDetail = () => {
const [image, setImage] = useState([]);
useEffect(() => {
loadRekko();
}, []);
const loadRekko = async () => {
const res = await Axios.get(`http://localhost:3001/dashboard-rekko/${id}`,{
headers:headers
});
console.log(res.data.response);
var array = [];
let a = (res.data.response.rekkoRecords.product_img)
array.push(a)
setImage(array) ====>>> How can i make array like i want
console.log(image)
setRecommendation(res.data.response.rekkoRecords)
}
return (
{image.map((it) => {
return (
<div key={it}>
<img src= {'http://localhost:3001/'+it} />
</div>
)
})}
)
}
一切正常,但我想显示多个图像。我得到了"uploads\classpamplate.png,uploads\classpamplate1.jpg"
这种格式的响应,在将它推入数组后它变成了,["uploads\classpamplate.png,uploads\classpamplate1.jpg"]
但我想要的是["uploads\classpamplate.png","uploads\classpamplate1.jpg"]
两者都是分开的,以便我可以使用.map()
函数显示它。任何帮助将不胜感激
解决方案
您可以使用拆分它们,,
以便将其转换为数组
let a = (res.data.response.rekkoRecords.product_img).split(",");
array.push(...a)
或者
直接你可以setImage
像下面这样调用
setImage(res.data.response.rekkoRecords.product_img.split(","));
检查响应是否为空然后拆分
let a = (res.data.response.rekkoRecords.product_img);
a = a && a.split(",") || []
setImage([...a])
推荐阅读
- python - 将 Excel 格式化为 DataFrame
- error-handling - RxJS 重试然后 catchError 不起作用
- tomcat - 在本地主机上发送邮件有效,但是当部署到网络服务器时,我得到无法连接到主机,端口:smtp.gmail.com,587
- ios - watchOS:获取 EventKit 日历 - 不止启用
- c++ - lcov 报告流运营商的覆盖范围不完整
- python - Tkinter wm_attributes 没有 Linux 中的所有选项
- xml - ODOO 14 中的 XML 显示父对象
- reactjs - React Fullstack:无法从 Rest API 获取项目详细信息
- fpga - 初学者问题:FPGA开发板无引脚销售是什么意思?
- azure-ad-b2c - Azure AD B2C - KMSI - 在不强制登录的站点上记住我的功能