Имеется такой объект, он будет у нас в redux. Объект менять не нужно.
const initialState = {
0: [
{
comment: '1 сезон',
folder: [
{
comment: '1 серия'
},
{
comment: '2 серия'
}
]
},
{
comment: '2 сезон',
folder: [
{
comment: '1 серия'
},
{
comment: '2 серия'
},
{
comment: '3 серия'
}
]
}
]
}
Так есть компонент ItemList, это кнопочки:
const ItemList = ({ items }) => {
const [active, setActive] = React.useState(0);
return (
<ul className="items">
{items.map(({ comment }, index) => (
<li
key={index}
className={active === index ? 'item active' : 'item'}
onClick={() => setActive(index !== active ? index : -1)}
>
{comment}
</li>
))}
</ul>
);
};
Используя я сейчас его на данный момент так:
const View = () => {
return (
<div className="content">
<ItemList items={obj[0]} /> // Тут я хочу выгрузить все сезоны
<ItemList items={obj[0][1]['folder']} /> // тут я хочу выгрузить все серии к сезону, который выбран у нас в active
</div>
);
};
Так вот, как мне выгрузить сезоны и все серии к сезону который у нас выбран? Скорее всего, активный элемент я собираюсь вынести в redux. Но так же не знаю как правильно сделать, у нас один компонент, но используются он для двух по факту задач. Выбрать сезон и выбрать серию. Сейчас конечно клики работают на все два этих компонента которые создал.
Объясню в двух словах, что я хочу сделать: есть сериал и вот у вас есть возможность выбрать сезон и серию.