Я пытаюсь создать компонент, в котором у меня есть набор ящиков из массива, который можно включать и выключать, когда каждый из них нажимается отдельно.
В настоящее время только один элемент из массива может быть включен (показан зеленым цветом), однако я хотел бы иметь возможность включать / выключать каждый элемент по отдельности.
Взаимодействие с одним элементом не должно влиять на другие.
Как мне этого добиться?
Событие моего клика:
handleOnClick = (val, i) => {
this.setState({active: i}, () => console.log(this.state.active, 'active'))
}
Отображение полей:
renderBoxes = () => {
const options = this.state.needsOptions.map((val, i) => {
return (
<button
key={i}
style={{...style.box, background: i === this.state.active ? 'green' : ''}}
onClick={() => this.handleOnClick(val, i)}
>
{val}
</button>
)
})
return options
}
Вот кодекс