Я использую react-native
SectionList
для отображения секционированных данных (https://facebook.github.io/react-native/docs/sectionlist). Я добавил возможность свернуть / развернуть разделы при нажатии на заголовок раздела, например:
const section1Collapsed, setSection1Collapsed = useState(false);
const getListData = useMemo(() => {
let data = [];
if (section1Data && section1Data.length) {
data.push({
title: 'Section 1',
data: section1Collapsed ? [] : section1Data,
});
}
if (section2Data && section2Data.length) {
data.push({
title: 'Section 2',
data: section2Data,
});
}
return data;
}, [section1Data, section2Data, section1Collapsed]);
, и затем я использую эти данные в SectionList
:
<SectionList
sections={getListData}
...restSectionListProps
/>
Это работает, но мне интересно, если есть ли возможность оживить коллапс? Я добавил
useEffect(() => {
LayoutAnimation.easeInEaseOut();
}, [section1Collapsed]);
И когда я расширяю раздел, он анимируется. Но когда я хочу свернуть, анимация отсутствует (что нормально для меня, потому что я рендую раздел без данных). У вас есть идеи, как добавить анимацию при развале?