Ну вот чисто взгляд со стороны.
1. Научитесь оформлять проекты через markdown. Сейчас такое описание проекта тяжело читать, я осилил 5 слов, потенциальный работодатель вообще не посмотрел бы.
2. Группируйте файлы проекта по типу и смыслу. Сейчас это каша и трудно понять мне как простому не фронтендеру где логика, а где фреймфорк.
3. Так как вы пишите все еще говнокод, то приучайтесь над сложными участками кода писать комментарии где выражена суть исполнения функции.
4. Не знаю как во фронтенде сейчас, но бекендеры не любят когда мешают логику и шаблоны.
5. Научитесь раставлять скобки, прочитайте как оформлять код в js
spoilercomponentDidMount() {
this.getTicketData("ticket.json");
} // И так везде
6. Это что?
spoilernewArr = [...newArr, ...arr0, ...arr1, ...arr2, ...arr3];
7. Это плохая практика. Код должен быт абстрагирован от данных. Нужно заменить на объект и проверять есть ли в объекте нужные данные или вернуть дефолтное значение.
spoilerconst getStopsNumber = (stop) =>{
switch (stop) {
case 3:
return "3 пересадки"
case 2:
return "2 пересадки"
case 1:
return "1 пересадка"
case 0:
return "без пересадок"
default:
return
}
}
Пока хватит.