Проблема
У меня плоский список, этот плоский список необходимо заполнить дополнительными элементами, после чего пользователь нажимает кнопку «показать больше». Если я нажимаю кнопку, я могу обновить состояние компонента, но плоский список не отображает старые элементы. Это просто переписывает их. Я не понимаю, чего мне не хватает
Код
Старые данные
const [resultsData, setResultsData] = useState([
{ description: '10/10/2019', reportId: 2131231734, reportNumber: 2131231734 },
{ description: '12/10/2019', reportId: 2131231636, reportNumber: 2131231636 },
{ description: '15/10/2019', reportId: 2131231777, reportNumber: 2131231777 },
{ description: '12/11/2019', reportId: 2131231666, reportNumber: 2131231666 },
{ description: '10/10/2019', reportId: 2131231555, reportNumber: 2131231555 },
{ description: '10/10/2019', reportId: 2131231444, reportNumber: 2131231444 },
{ description: '10/10/2019', reportId: 2131231333, reportNumber: 2131231333 },
{ description: '10/10/2019', reportId: 2131231222, reportNumber: 2131231222 },
{ description: '10/10/2019', reportId: 2131231111, reportNumber: 2131231111 },
{ description: '10/10/2019', reportId: 2131231000, reportNumber: 2131231000 },
]);
Новые данные, которые я нужно добавить
const _showMore = () => {
setRefresh(true);
setResultsData([
...resultsData,
{ description: '10/10/2019', reportId: 32131231734, reportNumber: 2131231734 },
{ description: '12/10/2019', reportId: 32131231636, reportNumber: 2131231636 },
{ description: '15/10/2019', reportId: 32131231777, reportNumber: 2131231777 },
{ description: '12/11/2019', reportId: 32131231666, reportNumber: 2131231666 },
{ description: '10/10/2019', reportId: 42131231555, reportNumber: 2131231555 },
{ description: '10/10/2019', reportId: 52131231444, reportNumber: 2131231444 },
{ description: '10/10/2019', reportId: 62131231333, reportNumber: 2131231333 },
{ description: '10/10/2019', reportId: 27131231222, reportNumber: 2131231222 },
{ description: '10/10/2019', reportId: 82131231111, reportNumber: 2131231111 },
{ description: '10/10/2019', reportId: 92131231000, reportNumber: 2131231000 },
]);
setRefresh(false);
};
Компонент
const _renderReportCard = ({ item }) => (
<GenericListItem
textLeft={item.reportId}
icon={downloadIcon}
onPress={() => fetchResultDetails(item.reportId)}
textRight={item.description}
/>
);
return (
<StyledContainer>
<ReportsList
style={{ flex: 1 }}
initialNumToRender={resultsData.length}
extraData={resultsData}
data={resultsData}
keyExtractor={_keyExtractor}
renderItem={_renderReportCard}
getItemLayout={(data, index) => ({ length: 40, offset: 40 * index, index })}
onRefresh={_showMore}
refreshing={refresh}
/>
<View>
<ShowMore onPress={_showMore}>
<ShowMoreText>{t('show').toUpperCase()}</ShowMoreText>
</ShowMore>
</View>
</StyledContainer>
);
Ожидаемое поведение
Мне нужно, когда я нажимаю Кнопка ПоказатьБолее, чтобы увидеть все 20 элементов.