Переключение на один элемент - это бриз. Но мне трудно переключаться с функцией карты. Нажатие на дочерний элемент должно переключить «активный». Но происходит то, что каждый элемент получает класс «активный». Взгляните:
constructor() {
super()
active: false
this.toggleClick = this.toggleClick.bind(this)
}
toggleClick() {
this.setState(state=> ({
active: !state.active
})
)
}
... в моем классе функций ...
function ThisClass(props){
return(
<div>
{
items.map((item,i) => {
return(
<span role="button" className={`${props.active ? 'active' : ''}`} key={i} onClick={() => props.toggleClick(i)}>{item.text}</span>
)
})
}
</div>
)
}
Это мой желаемый вывод:
<div>
<span class="active">A</span>
<span class="">B</span>
<span class="">C</span>
</div>
Вместо этогостановится результатом
<div>
<span class="active">A</span>
<span class="active">B</span>
<span class="active">C</span>
</div>
И, конечно, переключение должно работать. один клик сделает текущий активным. И повторное нажатие удалит активное состояние. Также, нажав текущее состояние, предыдущий активный элемент должен быть удален с активным.