Проблема в том, что вы не имеете ни опыта, ни знаний для написания подобных приложений. Для начала, нужно написать, что-то по-проще и досконально разобраться с жизненным циклом реакт-компонентов. Т.е. четко уяснить что, в какой последовательности исполняется и как взаимосвязано.
Касательно, вашего кода - новички ударяются в 2 крайности, или совсем не используют состояния, или пишут целые простыни. Я насчитал в вашем компоненте 10 useState - вам действительно необходимо такое количество в таком простом компоненте?
И открою вам один маленький, но очень важный секрет - useEffect-ов в одном компоненте может быть больше одного!
Сделайте для каждой ф-и глобальную переменную-флаг, которые они будут проверять периодически при работе. Если флаг true - продолжают работать, false - завершаются. Примерно так:
let NY = true
function timerNY() {
while(NY && ваши условия повтора){
// основной код ф-ии
}
}
в момент когда нужно завершить работу ф-ии меняете флаг на false NY = false
Но это один из вариантов, можно и другие сделать через интервал и очистку.
Максим Белоусов, странно, по идее должно работать правильно. А к остальным ресурсам правильные пути получаются (img, svg) ? Возможно еще конфиг тайпскрипта на это как-то влияет...
Владимир, Вы выяснили какого максимального размера файл можно загрузить без проблем? Если к примеру 32мб - то можно забить в поиск по файлам конфигурации это число и искать нужную настройку.
вы сами написали, что проблема в том, что verifyAuthentication выполняется с задержкой из-за чего выводится компонент Authentication. На время задержки принудительно выводите компонент Loader.
Если аутентификация успешна - выводите что надо, не успешна - опять компонент Authentication.
Касательно, вашего кода - новички ударяются в 2 крайности, или совсем не используют состояния, или пишут целые простыни. Я насчитал в вашем компоненте 10 useState - вам действительно необходимо такое количество в таком простом компоненте?
И открою вам один маленький, но очень важный секрет - useEffect-ов в одном компоненте может быть больше одного!