Критична помилка в коді вартістю в декілька тисяч доларів.
Вставка
- Опубліковано 23 чер 2024
- Сьогодні у нас на ревю код від Станіслава - проєкт “Камінь, Ножиці, Папір” реалізований на React. Дякую автору за код. Знайдені помилки та проблеми будуть хорошим прикладом для інших та навчанням для автора. Впевнений що дане ревю допоможе автору покращити якість його коду та уникнути критичних помилок, які коштували б кучу грошей.
Посилання на код можна залишати в коментарях під цим постом на DOU - dou.ua/forums/topic/48641/
Посилання на сьогоднішній код - github.com/stanislav-sn/REACT_...
Посилання на проєкт (не працює) - react-rock-scissors-paper.verc...
Стати спонсором каналу:
/ @maksymrudnyi
Корисні відео що згадувались в огляді:
- робота з SVG картинками - • Ви неправильно викорис...
- робота зі стилями - • React: Порівняння та О...
- Vite замість Create React App - • Оновлення React: Нова ...
Буду вдячний за підтримку каналу:
Patreon - / rudnyi
BuyMeACoffee - www.buymeacoffee.com/maksymru...
Mono Bank - send.monobank.ua/jar/6oqhydjLGp
або так - 5375 4114 0505 7287
Приват банк - 4627 0551 1331 6110
Давайте дружити:
Telegram ↣ t.me/maksymrudnyi
Telegram чат ↣ t.me/joinchat/H4AF4W4dfGeGepNQ
INSTAGRAM ↣ / maksym_rudnyi
TWITTER ↣ / maksymrudnyi
FACEBOOK ↣ / travelscode
WEB-SITE ↣ travelscode.com/
GITHUB ↣ github.com/MaksymRudnyi/
Другий UA-cam канал ↣ / travelscode
#react #dou #mentoring #javascirpt - Наука та технологія
пишу: ще дивлюсь, заінтригований ))))) дуже гарний аналіз!
Дякую. Приємно чути
+ 1 :)
Професійний огляд і фікс. Дякую!
Дякую, дуже приємно.
Дуже корисний відосик, дякую !
Радий чути) Дякую.
ще дивлюся, жорсткість рев'ю недостатня))
😃😃😃 В мене ж не ціль завалити людину. Треба вказати на недоліки коду і як краще виправити.
Гарний огляд. Автору коду слід працювати далі, але добре, що скинув.
Сподіваюсь врахує усі зауваження
Круте відео, лайк, підписка, дякую
Радий чути.
Дякую, biom треба спробувати 👍👍👍
Обов'язково. Відео по ньому уже монтується.
Гарний аналіз, багато корисного можна взяти
Дякую. В цьому проєкті дійсно можна багато чого взяти)
Вітаю, а ви могли б записати відео, як коректно зберігати обʼєкти в redux? Маю на увазі не прості типи (string, number), а наприклад File та схожі. Через react context викликаються зайві render
Реакт контекст звісно викликатиме рирендери усіх компонентів які підписані на цей контекст. Дивно що треба зберігати файли в контексті. Це не зовсім правильний підхід. Як мінімум я поки не бачу сенсу (він може і є).
Найближчим часом такого відео не буде, не планую.
рідакс це стейт менеджер. файли та інше треба зберігати на сервері. а взагалі в браузері є indexedDB почитайте його апі або у гпт спитайте
в енви можна писати свої ключі чи коди. просто додати треба в гітігнор та все. враження що чувак скачав якийсь бойлерплейт чи робив по якомусь тупому ютуб уроку від такого ж ламера і склепав своє. якщо брати vite він зі старту все непотрібне в гітігнорі прописує
В .env потрібно їх писати. Тут головне потім в гіт не комітити це.
Якшо б ви подивились нижче в документаціі бутстрапу то побачили би брекпоінти з сотими частинами
Да, там так і написано що це work around та використовується occasionally. При тому використовується в міксіні @include media-breakpoint-down(sm) де автоматично віднімаються цих 0.02 пікселя. У будь-якому випадку, писати це вручну - невдячна робота. Та й @media (max-width) - це уже порушення підходу mobile-first. Якщо мішати min-width та max-width - буде важче зверстати шаблон.
Більше схоже що автор просто вставив уже зкомпілюьований код. Тут і автопрефікси і ці дивні брейкпойнти.
@@MaksymRudnyi можливо саме так і було))
тоді це ще більш дивно. Код то компілиться не в css-модулі для компонентів. Його потрібно було десь взяти і скопіювати. Мені прямо цікаво стало як ці стилі там опинились.
hash router для gh pages юзається
GitHub pages? Не пробував, можливо. Тільки от проєкт був на vercel задеплоїний. Там таких вимог точно нема.
@@MaksymRudnyi на версель точно не треба такого)
@@MaksymRudnyi Спочатку я хотів на GitHub pages викласти, але воно не пішло, тож виявилось, що потрібно замість "BrowserRouter" використовувати "HashRouter". Але на GH Pages сайт працював не дуже, і я зробив його на Verсel. З "HashRouter" воно нормально працювало, тож, як кажуть программісти - "Працює, тож не чіпай", я і не чіпав. А після Вашого "розноса" моєї роботи, тобто розбора, змінив на BrowserRouter. Інші правки теж вношу, дякую за розбір.
Таймер на "Loading" ставив для того, щоб щоч на секунду затрималась анімація завантаження, бо так вона з'являється на долі секунд, як глюк якийсь.
Вибачте, що я лажанув з авторізацією, бо сайт ліг якраз перед Вашою перевіркою. Зараз працює.
ржу з брекпоінтів
А зря
Там схоже що автор скопіював їх з уже компільованого коду. В бутстрапі є такий костиль з відніманням 0.02рх