Итак, я хочу использовать список разделов RN неортодоксальным способом.
Я хочу, чтобы список разделов выдавал рендеринг компоненту, поскольку рендеринг не будет очень равномерным.
Я хочу использовать список разделов, чтобы при прокрутке вы все равно могли видеть заголовки.
Я создал компонент, который принимает дочерние элементы и отображает их в списке разделов следующим образом:
class SomeSectionList extends Component {
render() {
let sections = React.Children.map(this.props.children, (Child, index) => {
return {title: Child.type.title, data: [''], renderItem: () => Child, index }
});
return (
<SectionList
renderSectionHeader={({section}) => {
return <Text style={{ fontWeight: "bold" }}>{section.title}</Text>
}}
sections={sections}
keyExtractor={(item, index) => item + index}
/>
);
}
}
И использование будет примерно таким:
<SomeSectionList>
<Comp1 />
<Comp2 />
</SomeSectionList>
Однако моя проблема в том. Скажем, в этом случае Comp1 ничего не рендерит из своего компонента, я хочу иметь возможность скрыть его раздел из списка разделов.
Как компонент SomeSectionList
мог знать, что он ничего не рендерил или не имел данных для рендеринга, чтобы он мог скрыть свой раздел и заголовок?
Любые предложения будут великолепны. Я чувствую, что использование SectionList для этого является излишним (но оно делает показ заголовков более приятным), поэтому открыты и для альтернатив.