Я пытаюсь получить индекс, когда нажимаю ссылку, а затем устанавливаю класс для выбранной ссылки и класс для того же индекса в другом контейнере.
Ссылка на скрипку: https://jsfiddle.net/iBertel/jw34bLed/5/
Пока это мой код:
import React, { Component } from 'react'
const arrLinks = ['Link1', 'Link2', 'Link3']
const arrContent = ['Content1', 'Content2', 'Content3']
class Tabbing extends Component {
constructor(props) {
super(props);
this.handleClick = this.handleClick.bind(this);
this.state = {
activeLinkId: false,
activeContentId: false
};
}
setActiveElement(id){
this.setState({activeLinkId: id})
this.setState({activeContentId: id})
}
handleClick() {
//console.log(e.target.getAttribute('data-key'));
const currentLinkState = this.state.activeLinkId;
const currentContentState = this.state.activeContentId;
this.setState({
activeLinkId: !currentLinkState,
activeContentId: !currentContentState
});
}
render() {
return (
<div>
<ul className="container-one">
{arrLinks.map((arrLinks, index) =>
<li
data-key={arrLinks}
key={index}
className={index === this.state.activeLinkId ? 'active' : null}
onClick={() => this.handleClick(index)}
>
{arrLinks}
</li>
)}
</ul>
<ul className="container-two">
{arrContent.map((arrContent, index) =>
<li
key={index}
data-key={arrContent}
className={index === this.state.activeContentId ? 'active' : null}
>
{arrContent}
</li>
)}
</ul>
</div>
)
}
}
export default Tabbing