Дякую, корисно і цікаво спостерігати аналіз і рефакторинг. В кінці хотілось ще послухати про особистий підхід до вирішення задачі. Наприклад структура проекту, архітектурний підхід і як краще сформувати модель даних (зацікавила ідея з налаштуваннями кожної Цели). Можливо у вас з'явиться бажання записати додаткове відео. Мені як навачку дуже цікаво визначити куди далі розвиватись і на що звертати увагу. Ще раз, дякую за цінний контент
Формат чудовий, може навіть краще, чим звичайні навчальні відео. А може об'єднати два формати - наприклад взяти студентський код з роутером і під час його рефакторингу пояснювати що і як працює.
Я не успел дописать еще свои замечания по коду, т.к. меня попросили, это связано с задержкой подачи света в нашем городе, его у нас вообще не было 2 дня. Вот само замечание.Таймер написан не совсем верно, дело в том, что старое значение time «замыкалось» внутри функции обработчика. Поэтому с каждым тиком setInterval ссылался на значение time из первого рендера. Таймер доходил до 1 и на этом тормозился и старое значение time «замыкалось» внутри функции обработчика. Поэтому с каждым тиком setInterval ссылался на значение time из первого рендера. Можно конечно написать такое, с использование функции вместо прямого значения, но лучше вариант это тот подход, который предложил Дэн Абрамов, а он мужчина серьезный, и программист авторитетный! Можно сделать функцию-обработчик мутабельной. Вы про это вроде упомянули вскольз в конце лекции, или возможно я вас непровильно понял.Для этого у React есть специальный хук useRef.Чаще всего его используют для работы с DOM-элементами, но это не единственное его применение. Теперь можно «запомнить» любую переменную в свойство current и обновлять ее при каждом рендере. Вот статья Дэна Абрамова про работу с setInterval и React hooks: Making setInterval Declarative with React Hooks.Можете как то это прокомментировать?
@@reactdev я имел ввиду именно setTimeout, в статье Дэна Абрамова он называется setInterval, старое значение time «замыкалось» внутри функции обработчика. Поэтому с каждым тиком setTimeout ссылался на значение time из первого рендера. Таймер доходил до 1 и на этом тормозился и старое значение time «замыкалось» внутри функции обработчика. Поэтому с каждым тиком setTimeoutссылался на значение time из первого рендера. Я только учу реакт, возможно я не совсем правильно понял смысл статьи, поэтому и решил вам написать и уточнить детали...
@@sevgenberg585 Це різні речі. В тому коді що ми розглядаємо немає ні інтервалу, ні динамічного time. Тому ця стаття (яка сама по собі корисна) не може тут застосовуватися.
Вогонь 🔥 Побільше б таких відео, або взагалі лайвкодінгу☺️
Класний формат хотілось би більше таких розборів для новачків і не тільки) 🔥🔥🔥
Типових помилок на щастя не так вже й багато
Дякую, корисно і цікаво спостерігати аналіз і рефакторинг. В кінці хотілось ще послухати про особистий підхід до вирішення задачі. Наприклад структура проекту, архітектурний підхід і як краще сформувати модель даних (зацікавила ідея з налаштуваннями кожної Цели). Можливо у вас з'явиться бажання записати додаткове відео.
Мені як навачку дуже цікаво визначити куди далі розвиватись і на що звертати увагу. Ще раз, дякую за цінний контент
Вподобайка за україномовний контент!
Дякуємо!!! 🤩🤩🙌🙌
Приходьте ще!
Формат чудовий, може навіть краще, чим звичайні навчальні відео. А може об'єднати два формати - наприклад взяти студентський код з роутером і під час його рефакторингу пояснювати що і як працює.
Ну як би для того щоб студенти написали роутер про нього ж треба спочатку розповісти)
@@reactdev variable used before its declaration)))
🔥А для управління тими усіма стейтами можна використати Redux?
Так, звичайно можна. Але для маленьких апок редакс це забагато. Хоча якщо для навчання то можна.
Я не успел дописать еще свои замечания по коду, т.к. меня попросили, это связано с задержкой подачи света в нашем городе, его у нас вообще не было 2 дня. Вот само замечание.Таймер написан не совсем верно, дело в том, что старое значение time «замыкалось» внутри функции обработчика. Поэтому с каждым тиком setInterval ссылался на значение time из первого рендера. Таймер доходил до 1 и на этом тормозился и старое значение time «замыкалось» внутри функции обработчика. Поэтому с каждым тиком setInterval ссылался на значение time из первого рендера. Можно конечно написать такое, с использование функции вместо прямого значения, но лучше вариант это тот подход, который предложил Дэн Абрамов, а он мужчина серьезный, и программист авторитетный!
Можно сделать функцию-обработчик мутабельной. Вы про это вроде упомянули вскольз в конце лекции, или возможно я вас непровильно понял.Для этого у React есть специальный хук useRef.Чаще всего его используют для работы с DOM-элементами, но это не единственное его применение. Теперь можно «запомнить» любую переменную в свойство current и обновлять ее при каждом рендере. Вот статья Дэна Абрамова про работу с setInterval и React hooks: Making setInterval Declarative with React Hooks.Можете как то это прокомментировать?
Я можу сказати, що в коді немає використання setInterval, лише setTimeout.
Можливо ви щось сплутали?
@@reactdev я имел ввиду именно setTimeout, в статье Дэна Абрамова он называется setInterval, старое значение time «замыкалось» внутри функции обработчика. Поэтому с каждым тиком setTimeout ссылался на значение time из первого рендера. Таймер доходил до 1 и на этом тормозился и старое значение time «замыкалось» внутри функции обработчика. Поэтому с каждым тиком setTimeoutссылался на значение time из первого рендера. Я только учу реакт, возможно я не совсем правильно понял смысл статьи, поэтому и решил вам написать и уточнить детали...
@@sevgenberg585
Це різні речі. В тому коді що ми розглядаємо немає ні інтервалу, ні динамічного time. Тому ця стаття (яка сама по собі корисна) не може тут застосовуватися.
57:57 - так, наче "допрацювали"