Я пытаюсь создать компонент содержимого с вкладками, но не уверен, как лучше поступить с этим.
У меня есть массив объектов, такой как ниже, который может принимать любое число
tabs= {[
{
"title": "Some title 1",
"otherComponents": [
<Title ... />,
<Paragraph... />
]
},
...
...
...
}]
У меня такое ощущение, что мне нужно сначала сосредоточиться на отображении tab.title, а затем отобразить вкладку.content в otherComponents
.но не уверен в том, как связать их вместе, чтобы можно было идентифицировать активную вкладку и какое содержимое отображать. Любая помощь в структуре папок для этих компонентов и какая функция будет поставлена, будет принята с благодарностью, поскольку я 'Я не уверен в наилучшем подходе для этого.Что бы вы посоветовали вначале сосредоточиться?
Я бы предположил следующую функцию: getTabHeaders
и getTabContents
, а затем отобразил бы их друг под другом?
У меня есть следующая структура папок ниже
-tabbed-content -tabbed-content.js -tab-content.js -tab-headers
Не уверен, должны ли они все входить в основной файл tabbed-content
.
в tabbed-content
У меня есть что-то вроде следующего
getTabbedContent() {
const {
tabs,
} = this.props;
const numberOfTabs = Object.keys(tabs).length;
return (
<StyledTabbedContent>
{ tabs.map((tab, index) => (
<TabHeader
key={uuidv1()}
title={tab.title}
tabNumber={1+ index}
numberOfTabs={numberOfTabs}
/>
),
)}
</StyledTabbedContent>
);
}
в tab-header
У меня есть следующее
render() {
const { numberOfTabs, title } = this.props;
return (
<StyledTab
numberOfTabs={numberOfTabs}
>
<StyledTitle>{title}</StyledTitle>
</StyledTab>
)
}
}
То, что я думал, было в tab-content
что-то похожее на вышеупомянутое, но не уверен, что идентификатор удостоверения личности связывает их обоих вместе ... что заставляет меня думать, что я иду по неправильному пути ... Вот почему я прошу структуру структуры / метода папок илиплан того, что делать в первую очередь для решения проблемы