class ItemGrid extends React.Component {
handleCart = (id) => {
this.props.addFunction(id);
}
render() {
const { classes } = this.props;
var itemArray = this.props.items;
var newArray = [];
for (var i = 0; i < itemArray.length; i++) {
if (itemArray[i].category == 6) {
newArray.push(itemArray[i]);
}
}
for (var i = 0; i < itemArray.length; i++) {
if (itemArray[i].category != 6) {
newArray.push(itemArray[i]);
}
}
itemArray = newArray;
return (
<div className = {classes.root}>
<Grid container spacing = {8} className = {classes.container}>
<Grid item xs = {12}>
<Grid container className = "item-grid" justify = "space-evenly" alighitems = "center" spacing = {0}>
{itemArray.map(function(item, id) {
return <Paper className = {classes.gridItem} key = {id}>
{getImage(classes, item)}
<Typography className = {classes.itemName}>{item.name}</Typography>
<Typography className = {classes.itemPrice}>Price: {numberWithCommas(item.price)} ISK</Typography>
<div className = {classes.addButtonDiv}>
<Button variant = "contained" className = {classes.addButton} onClick = {() => this.handleCart(item.id)}>
Add to cart
<CartIcon/>
</Button>
</div>
</Paper>
}, this)}
</Grid>
</Grid>
</Grid>
</div>
);
}
}
function getImage(classes, item) {
if (item.category == 6) {
return <div className = {classes.itemImg}><img src = {"https://image.eveonline.com/Render/" + item.id + "_256.png"} alt = {item[1]} className = {classes.itemImg}></img></div>
} else {
return <div className = {classes.itemImg}><img src = {"https://image.eveonline.com/Type/" + item.id + "_64.png"} alt = {item[1]} className = {classes.itemImg}></img></div>
}
}
Итак, у меня есть панель поиска в верхней части этой сетки предметов, которые могут быть куплены пользователем. Каждый раз, когда я выполняю поиск, я вижу сообщение «получение данных с image.eveonline.com», поэтому я предполагаю, что браузер неправильно кэширует изображения для дальнейшего использования. При повторном рендеринге компонента кешированные изображения уничтожаются? Есть ли способ их сохранить?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы смотрели вкладку браузера, чтобы узнать, что происходит на самом деле? Также кеширование зависит от заголовки ответа для изображения.