Итак, в моем приложении React Native для Android у меня есть Accordion
из Native Base
, который вложен в другой Accordion
:
imports ...
type Props = {};
const AccordionOne: React.FC<Props> = props => {
const renderContentGeneral = () => {
return (
<View>
<ChildAccordionComponentOne
listKey={'childOne'}
titleHeader="ChildAccordion 1"></ChildAccordionComponentOne>
<ChildAccordionComponentTwo listKey={'childTwo'} titleHeader="ChildAccordion 2"></ChildAccordionComponentTwo >
</View>
);
};
const dataArray = [
{
title: 'GENERAL',
content: renderContentGeneral(),
},
];
return (
<Accordion
dataArray={dataArray}
/>
);
};
export default AccordionOne;
ChildAccordionComponentTwo
, возвращает Accordion
, Когда я даю это свойство Accordion
a listKey
для React, оно выдает ошибку property "listkey" does not exist on accordion
, поскольку Native Base не предоставляет это свойство для Accordion
.
Но если я пропущу это, Реакт пожалуется "A VirtualizedList contains a cell which itself contains more than one VirtualizedList of the same orientation as the parent list. You must pass a unique listKey prop to each sibling list."
imports ...
type Props = {
titleHeader: string;
};
const ChildAccordionComponentTwo: React.FC<Props> = ({titleHeader}) => {
const renderContainer = () => {
return <View></View>;
};
const dataArray = [
{
content: renderContainer(),
},
];
const renderHeader = (expanded: boolean) => {
return <Header title={titleHeader} expanded={expanded} />;
};
const renderContent = () => {
return <Slider></Slider>;
};
return (
<Accordion
listKey={'acc'} // here is the problem
dataArray={dataArray}
renderContent={renderContent}
renderHeader={renderHeader}
/>
);
};
export default ChildAccordionComponentTwo ;
Я попытался обернуть Accordion
в View
и дать ему опору listKey
, но не работает Я действительно понятия не имею, что здесь делать. У кого-нибудь есть идея?