P4R4D1S3 "F12-Network-Timing, и получаю - CAUTION: request is not finished yet!" а можно скрин с браузерных инструментов разработчика. Какой статус запроса при этом установлен - должен быть pending судя по содержимому, но что это за каушн и откуда - непонятно
Увы пока распределить джобы на билд-деплой для вью и реакта по изменениям в path не получается. директива on path работает для всего конфига, а значит нужно раскидывать билды на два конфига. Когда я это делаю gh actions снова начинает деплоить в корневой урл репозитория
Vitaly Karasik да, Вы были правы. Когда я проверял регистр - перепутал папки. Открыл на линуксе, увидел и решил проблему. А вот с деплоем двух разных сборок сторибука с текущей конфигурацией ничего не получилось. Между деплоями происходит гонка.
Сейчас пробую вот эту статью, в чистую под сторибук всё равно не оч работает но в целом я близок https://www.thisdot.co/blog/deploying-multiple-app...
Vitaly Karasik я об этом тоже думал и проверил - регистры совпадают. Да и помимо проблемы с импортами ещё и с typescript падает ошибка - на гх сервере тска раннера не видит типы args в сторе таблицы, на маке опять же всё работает отлично.
Сейчас еще попробую расчехлить на втором ноуте на линуксе сборку, посмотреть как там себя она поведёт.
Но независимо от результатов я сделал вывод что github pages как инструмент сырое говно. Проще найти альтернативу типа верселя или ещё чего-то более адекватного, чем бодаться с этой дичью
1) да, урлу выставил, только это не помогло. Видимо эта настройка влияет только на отображение урла после деплоя в интерфейсе гитхаба, а деплоить он всё равно деплоит на базовый роут
2) Версия отличалась несильно - на локалке 20.16, на гх 20.18, сделал одинаково - всё равно не помогло
Локалка:
Гх:
Aetae, кек. Вы просто не поняли принцип иммутабельности реакта) Конечно же там совсем другой роутер. По сути он провайдер, использующий единый стейт и локальный. А с функционалкой довольно просто накосячить. Когда каждое обновление вызывает реакцию с перечиткой инструкций функций компонентов - происходящее в реально сложном проекте превращается в хаос.
Даже когда знаешь как на нём писать и как он работает, не сильно проще становится. Если lcp и производительность - не краеугольный камень - можно принебречь и использовать вью. Он неплох, но не во всём. Новый тоже рулит в сторону ФП, реализовали функциональные компоненты, хуки во vue 3.
Я резисчу это нездоровое движение. Мне было очень хорошо с ООП, если все остальные решили расстаться, я не решил. Я в работе 8 лет, в целом могу добиться высокой производительности своей реализацией.
Она пока не готова и далеко не идеальна, но я стараюсь точить этот алмаз регулярно
и если обратиться к props.route или context, то current еще не потерян
Смотря когда обращаетесь. Если он есть в useEffect после маунта, а потом исчезает, значит он перезаписывается по новой. Проследите за вызовами onReady. Проследите что возвращает
в разные отрезки времени.
Одного родителя тут недостаточно. Надо видеть полноценно и код контекста, и NavigationContainer
Кто знает что вы там написали value={getCurrentRouteName}
тоже непонятно откуда берётся
ambisinister One, проще - второй вариант именно об этом. Не знаю что вы имеете в виду под dotted, я о таких атрибутах svg не слышал. Но первый вариант гибче и легче по рендеру. Свг то для респонсива надо либо скрывать, либо перерисовывать. Первый вариант для браузера проще. Второй - для прогера. Оптимизация она такая. Чаще всего между простым кодом и оптимизированным кодом немалая пропасть
JekaHC, хах, вот ещё, думаете я просто так описал всё обрывками и основными моментами?
Дорогу осилит лишь идущий. За вас я ничего делать, конечно же, не буду. Иначе какой смысл? Переделегируйте таск на freelance habr если осознаёте, что не справитесь
JekaHC, по идее все данные для первичного рендера списка должны падать с запросом к списку.
А деталку покемона запрашивать стоит по кнопке, как я и указал выше.
Запрашивать каждый раз при скрытии/отображении данные - отстой. Конечно же данные после забора стоит оставить в памяти, просто не подавать на рендер. Для этого нужно ввести новый стейт const [show, setShow] = useState(false)
А в рендере подпилить условие {data && show ? (...
В handleMore чекнуть, если show === true то просто setShow(false)
Eсли show === false и data пуста - делаем запрос, после запроса делаем setShow(true).
Если же дата не пуста - просто делаем setShow(true)
Ну и рендер контента кнопки по show пилим ...>{show ? скрыть : показать}