map(), чтоб при клине открывался не все скрытые поля а именно на тот который кликнул ( $this). Как реализовать можно это ?
const [isOpen, setIsOpen] = useState(false)
const toggleItem = () => setIsOpen(!isOpen)
const coinRenderItem = (e, i) => {
<div className="item" key={e.id}>
...
<button onClick={toggleItem}>Open</button>
<div className={`hidden-section ${isOpen ? 'd-none' : 'd-block'}`}>
Some Text
</div>
</div>
}
return (
<>
{{array.map(coinRenderItem)}}
</>
)
создаешь компонент, в котором состояние есть, а потом мапаешь его
const Parent = () => { return [].map((x,i) => <Child key={i} data={x} />) } const Child = ({data}) => { const [view, setView] = useState(false) return <div onClick={() => setView(s => !s)}>{view && data.name}</div> }
Спасибо, получилось !
Обсуждают сегодня