mysql - 如何在 React 中从数组中渲染图像?
问题描述
我是 React 的新手。我刚刚学会了用 nodejs 创建一个 api 并从 MySQL 中表达出来。您可以在app.subarnanto.com/api/inventory查看 json 输出 api 。
你如何渲染图像?这是我的代码。我也收到了警告
警告:数组或迭代器中的每个孩子都应该有一个唯一的“key”道具
第三个,如何改进我的代码?谢谢
import React from 'react';
import axios from 'axios';
export default class Inventory extends React.Component {
constructor(props) {
super(props)
this.state = {
inventory: []
}
}
componentDidMount() {
axios.get('https://app.subarnanto.com/api/inventory').then(res => {
this.setState({ inventory: res.data });
console.log({ inventory: res.data });
});
}
render() {
return this.state.inventory.map(itemList => {
let item = itemList;
return (
<div>
<h4>Nama: { item.name } </h4>
<h4>Nomor Seri: { item.serial } </h4>
<h4>ID Tag: { item.tag } </h4>
<img src="{ item.image }"/>
</div>
);
})
}
}
解决方案
您对 src 属性使用了不适当的语法。您应该从 src 中删除引号:此外,数组中的每个子项都应该有一个唯一的标识符键。在您的情况下,最好使用:<div key={ item.serial }>
工作示例:
render() {
return this.state.inventory.map(item => {
return (
<div key={ item.serial }>
<h4>Nama: { item.name } </h4>
<h4>Nomor Seri: { item.serial } </h4>
<h4>ID Tag: { item.tag } </h4>
<img src={ item.image } />
</div>
);
})
}
推荐阅读
- sql - 如何使用 xml 列优化此 sql 查询
- java - 有没有办法在不更新主应用程序的情况下更新模块化库?
- java - 带有非静态变量错误消息的测试类
- json - 如何在 Flutter ListView 的构建过程中测试 json 属性是否存在
- openlayers - 地图服务器 | ESRI 休息地图服务 | 地图服务器
- matlab - 我无法解决我的 PID 模拟代码的问题(我认为这是关于微分器的差异)
- java - 计划任务不适用于 websocket
- javascript - 从ajax响应计算json对象的大小
- python - 根据熊猫数据框的列值使用networkx创建图形
- ios - 分组部分未显示在表格视图中