return (
<div>
{countryNames && countryNames.filter((item, index, array) => {
return index > 0 ? item.COUNTRY_NAME !== array[index - 1].COUNTRY_NAME : true
}).map((vyvod) => {
let country = vyvod.COUNTRY_NAME
return <div> {country}</div> // НЕ ЗАБЫВАЕМ ПРО KEY!!!
})}
</div>
);
.then((res) => {
setCountryNames(() => {
return res.DATA.filter((item, index, array) => {
return index > 0 ? item.COUNTRY_NAME !== array[index - 1].COUNTRY_NAME : true
})
})
})
const img = document.getElementById(ID_твоей_картинки);
window.onscroll = () => {
const scrolled = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
// если достигли картинки (можно еще через IntersectionObserver)
if (scrolled > img.getBoundingClientRect().top) {
// step - это кол-во пикселей в шаге
const step = 2;
img.style.backgroundPosition = ((scrolled - img.getBoundingClientRect().top) * step) + "px 0px";
}
}
foreach ($query1->rows as $image) {
if (is_file(DIR_IMAGE . $image['upc'])) {
$images = array(
'order_product_image_id' => $image['order_product_image_id'],
'image' => $this->model_tool_image->resize($image['upc'], 433, 433),
'image2' => $this->model_tool_image->resize($image['foto'], 433, 433)
);
}
// или так (скорее всего вам это и нужно):
if (is_file(DIR_IMAGE . $image['foto'])) {
$images2 = array(
'order_product_image_id' => $image['order_product_image_id'],
'image2' => $this->model_tool_image->resize($image['foto'], 433, 433)
);
}