Уже бэкендщик и чувак который пилил саму аппку месяца как три не работают в луне :) остался один:
дизайнер-индихакер
Первый мой ПК был чуть получше, 486DX на 50Mhz, с 16 Ram, и жестким диском на 400Mb :), Doom на 5,25 дискетах копировался вечность, а когда одна из дискет оказывалась размагниченной эта была боль )))
Я когда учился в вузе, программировал на Duron 750Mhz, 128 Ram, 40 Gb HDD, собраный из деталей на радиорынке, и не спрашивал что лучше :D
для начала не писать функции простыни, разбейте на более мелкие
Как нужно писать чистый и понятный код в интернете куча статей, книжек и тд.
К примеру метод:
getNextIndex
которая включает в себя 5 блоков if/else с внутренным циклом это зашквар. Пишите понятные чистые функции без простыней и кучей зависимостей, это для начала. К примеру getNextIndex было бы не плохо обернуть в другие реиспользующиеся getNextElement, findActiveElement и тд
Ваш код это какая-то дичь, я сейчас не говорю в рамках фреймворка, просто куча if else, циклов while... огромные блоки, читаемость кода стремится к 0 уже простите... И зачем вам столько useState когда можно это переписать на dispatch с useReducer
Изучаю сейчас React Native, и после работы с Angular на протяжении 4 лет, понял что React попросту написан по другому, и его не стоит пытаться переделать на подходы которые используются в Angular. Для себя мне проще использовать redux-observable и написать обертку rxjs над axios чем использовать fetch, но в плане всего остального, тех же хуков, jsx, лапшекода в компоненте, это нужно принять :) И очень не хватает DI, но выхожу из этой ситуации статичными методами или хелпер функциями
npm install phaser@latest готовый js движок с кучей подсистем, звук, физика, рендер
А надо мало но крайне обширно
Очень простой совет как начать писать на TypeScript + Angular = Нужно начать думать по Angular-вски. Вы пытаетесь натянуть JS на Java подобный OOP подход, это не так работает!
за 70к я возьму MacBook Pro 15 with Touch Bar Space с iCore 7 (4 ядра /8 потоков), 16Gb Ram, 512 SSD и видухой Radeon Pro 560X 4Gb, а не это уродство от Lenovo
ng new project-name
Full stack — от лукового.
Если хотите действительно хороший диплом то едьте в Киев
Впервую очередь задумайтесь, на сколько вы должны быть отличным специалистом во фронтенде что бы галера из Штатов заморочились с визой, релокейтом, и прочими нюансами когда они могу взять прямо на месте аналогичного кандидата
У нас бандл на Angular 6 в проде до gzip 2.5Мб, после 500 кб )
: RxJS, @Output/Input, вот эти все pipe’ы.
Это одни из самых удобных вещей которые были придуманы, и при должном желании понять, открываются новые подходы в программировании на потоках, понятные входные/выходные свойства и т.д
vue/angular
я думаю сократили