React JS. Передать класс случайному элементу массива
Всем здоровья! Подскажите, плиз, как организовать условие, чтобы показать не все картинки, а одну - рандомно. Кстати, даже так все не показываются, выдает ошибку: "Error: Too many re-renders. React limits the number of renders to prevent an infinite loop"... как быть?
let [blockClass, setBlockClass] = useState("");
let imageElements = props.images.map((image, i) => {
return <img key={image.id} src={image} className={classNames(style.img, style[blockClass])}
id={style[`img` + i]} alt=""/>
});
let showImage = () => {
setBlockClass("block");
};
Ответы (1 шт):
Автор решения: RTW
→ Ссылка
Код стоит приводить полностью.
import React from "react";
export default function App() {
const [items] = React.useState([1,2,3,4,5])
const [random] = React.useState(Math.floor(Math.random() * items.length) + 1 )
return (
<div className="App">
<h1>Hello random</h1>
<h2>{items[random]}</h2>
</div>
);
}