const [items, setItems] = useState ([]); // вместо пустого массива массив с данными
function sortByPrices () {
setItems (items => {
// сортировка items по цене
items = items.sort ((a, b) => a > b ? 1 : -1);
return [...items];
});
}
function sortByDuration () {
setItems (items => {
// сортировка items
// ...
return [...items];
});
}
return (
<div className='tabs'>
<TabsComponent defaultActiveKey='1'>
<TabPane tab='Самый дешёвый' key='1'>
<TicketsList
isLoading={loading}
tickets={items}
/>
</TabPane>
<TabPane tab='Самый быстрый' key='2'>
<TicketsList
isLoading={loading}
tickets={items}
/>
</TabPane>
</TabsComponent>
</div>
);
при смене табов вызывать sortByPrices и sortByDuration в зависимости от таба
2 вариант - хранить тип сортировки в state, изменять массив через useMemo с state в зависимостях