Евгений, подскажите пожалуйста название ветки на которую нужно перейти? Все уже перечитал никак не могу найти. Скопировал репозиторий по вашей инструкции, но в какую ветку нужно перейти, чтобы получить файлы этого урока, так и не понял
Евгений, ещё такой вопрос: почему в setNews и fetchData используются не обычные методы, а стрелочные функции? В чем преимущество данного подхода? Мы ведь никуда не передаем эти методы и this будет что так, что так указывать на компонент.
@@YauhenKavalchuk Тогда почему методы жизненного цикла и render вы пишете как обычные методы, а не как функции-стрелки? Чтобы писать меньше кода/символов?
Евгений, спасибо за очередной урок! Подскажите, пожалуйста, почему вы в названии классов css используете верблюжью нотацию? ( .newsList или .newsTitle) Разве не правильнее будет .news-list .news-title ? Или это какая-то особенность именно для разработки на React?
@@YauhenKavalchuk Понял, спасибо! Кстати, на счёт БЭМ - я вот тоже пока изучаю реакт, думаю, что было бы очень удобно применить методологию БЭМ для компонентов. Используется ли микс React'а и BEM на реальных проектах?
а что значит const { hits = [] } = result??? я просто делал например let {hits} = result и ставил переменную load если массив пришел то она tru и мы рендерим то что пришло, как правильно делать?
А зачем преломлен ставить на отсутствующие данные. Его обычно забрасывают в цепочку проминов. Сделали запрос, показали прелоадер, получили данные, убрали прелоадер.
Спасибо за видео. Есть вопрос: я вызываю из базы массив заголовков для табов, вызываю в дидмаунт, из за чего сначала происходит рендеринг страницы с пустым стэйт масивом, а после туда прописываются мои значения. НО проблема в том происходит это дергано, из за того что сначало рендериться пустой массив с дом деревом и стилями а после приходят мои данные, пытался вызывать запрос и в конструкторе (до рендоренга) ситуацию не изменило, что делаю не так? конечно можно положить прелоудер или не рендерить страницу пока не получу данные, но может есть какой то более привильный метод?
Делаете метод для фильтрации. Введённое значение из поля поиска и массив полученных данных храните в стейте. Создаёте метод фильтрации в котором на основании поля фильтруете полученные данные и обновляете стейт. Компонент отобразит отфильтрованные значения. Но обычно, это все-таки задача API.
Это дефолтное значение аргумента. Предположим, если произошёл сбой в запросе и вместо массива вернулся undefined, то весь UI развалится, а консоль будет пестрить красными цветами) - это если не добавить дефолтное значение. А вот если я добавляю {hit=[]} то даже в случае возврата undefined у меня просто ничего не отрендерится и UI не упадёт. Подробно можно это рассмотретьв плейлисте по "ES6"
Привет! Я перехожу в репозиторий этого урока но файлы там полностью пустые, может поменялась ссылка? Очень нужен код Вашего урока.. Спасибо за видео, очень информативно!
странная фигня, если ввести точное название новости но в выдаче пустые блоки joxi.net/1A5pzNKfDk1Rl2. это так api хакера работает или мы где то ошибку допустили ?
Подскажите, а у вас нет набраного когда? Ваша система придусматривает, что мы должны наберать за вами? Данный рипо пустой github.com/YauhenKavalchuk/react-js-tutorial
MatthewBellam, без знания английского в нем трудновато разобраться (поэтому вы и считаете что он "трешаковый"). Тем не менее в англоязычной документации описано практически все
Спасибо огромнейшее - это самый полный курс, который удалось найти. Рассматривается просто всё
Спасибо большое и вам за фидбэк!
Большое спасибо за подробное объяснение каждого аспекта темы. 🙏 Этот видеоурок был невероятно полезным! 🤯
Пожалуйста
спасибо за уроки, Вы молодец!
Спасибо за поддержку!
Здравствуйте у меня не открывает этот сайт не получается что делать
Очень хорошо, спасибо, но не нашел ссылку на файлы для этого урока.
В описании есть ссылка на репозиторий, а в репозитории есть ветки
@@YauhenKavalchuk Нашел, благодарю!
Евгений, подскажите пожалуйста название ветки на которую нужно перейти? Все уже перечитал никак не могу найти. Скопировал репозиторий по вашей инструкции, но в какую ветку нужно перейти, чтобы получить файлы этого урока, так и не понял
Ветка называется: 16_api_1
@@YauhenKavalchuk Благодарю.
Евгений, ещё такой вопрос: почему в setNews и fetchData используются не обычные методы, а стрелочные функции? В чем преимущество данного подхода? Мы ведь никуда не передаем эти методы и this будет что так, что так указывать на компонент.
Стрелочные функции - это уже по сути стандарт. Использовать нужно только их
@@YauhenKavalchuk Тогда почему методы жизненного цикла и render вы пишете как обычные методы, а не как функции-стрелки? Чтобы писать меньше кода/символов?
У них это не предполагает
Все твои уроки очень полезные, но у всех не хватает просто показа курсора, т.к. часто сложно уловить о чем в коде ты говоришь
учту
А почему был использован fetch, а не, допустим, axios? чтобы не подключать лишних библиотек или есть какие-то подводные камни?
Сугубо, что бы не подключать лишнее.
Евгений, спасибо за очередной урок! Подскажите, пожалуйста, почему вы в названии классов css используете верблюжью нотацию? ( .newsList или .newsTitle) Разве не правильнее будет .news-list .news-title ? Или это какая-то особенность именно для разработки на React?
Имя класса не на что не влияет (это не особенность) просто на тот момент я писал в camelCase. Сейчас пишу стандартно, даже иногда БЭМ проскальзывает
@@YauhenKavalchuk Понял, спасибо! Кстати, на счёт БЭМ - я вот тоже пока изучаю реакт, думаю, что было бы очень удобно применить методологию БЭМ для компонентов. Используется ли микс React'а и BEM на реальных проектах?
Не рекомендую - это избыточно, т.к. есть модульный CSS, благодаря которому проблемы нейминга «уходят»
У меня какая-то проблема с fetch. Я не могу ни с сервера, ни локально получить JSON, пишет "SyntaxError: Unexpected token < in JSON at position 0"
Видимо, либо проблема в запросе - не верный url, либо в сервисе. Попробуйте проверит ресурс, если он работает нормально, то повторите запрос позже
@@YauhenKavalchuk Да, проблема была с сервисом, спасибо!)
а что значит const { hits = [] } = result??? я просто делал например let {hits} = result и ставил переменную load если массив пришел то она tru и мы рендерим то что пришло, как правильно делать?
Это дефолтное значение для hits, что бы не сломать map если мы получим ответ null или undefined.
я к тому, что как вы сделали не реакт не ругается типо map undefined, но тогда мы ведь пролоадер не поставим?
А зачем преломлен ставить на отсутствующие данные. Его обычно забрасывают в цепочку проминов. Сделали запрос, показали прелоадер, получили данные, убрали прелоадер.
Спасибо за видео. Есть вопрос: я вызываю из базы массив заголовков для табов, вызываю в дидмаунт, из за чего сначала происходит рендеринг страницы с пустым стэйт масивом, а после туда прописываются мои значения. НО проблема в том происходит это дергано, из за того что сначало рендериться пустой массив с дом деревом и стилями а после приходят мои данные, пытался вызывать запрос и в конструкторе (до рендоренга) ситуацию не изменило, что делаю не так? конечно можно положить прелоудер или не рендерить страницу пока не получу данные, но может есть какой то более привильный метод?
Нету. Вы назвали нормальные варианты. Ну ещё, как вариант задать табам min-width, тогда дёрганье не будет видно так сильно
а поиск тут сделан по url ведь, а не по самим данным, а как сделать поиск по данным, которые пришли?
Делаете метод для фильтрации. Введённое значение из поля поиска и массив полученных данных храните в стейте. Создаёте метод фильтрации в котором на основании поля фильтруете полученные данные и обновляете стейт. Компонент отобразит отфильтрованные значения. Но обычно, это все-таки задача API.
@@YauhenKavalchuk тоесть бекенд должен приедоставить API , например www.имяСайта/путь/что то еще/ПЕРЕМЕННАЯ
@@YauhenKavalchuk и это переменную нужно ловить из инпута?
Да, обычно так и происходит
Верно
Спасибо за видео! а ты не мог бы пояснить почему ты пишешь const {hit=[]}=… имею ввиду зачем ты присваиваешь массив, видь hit и так массив?
Это дефолтное значение аргумента. Предположим, если произошёл сбой в запросе и вместо массива вернулся undefined, то весь UI развалится, а консоль будет пестрить красными цветами) - это если не добавить дефолтное значение. А вот если я добавляю {hit=[]} то даже в случае возврата undefined у меня просто ничего не отрендерится и UI не упадёт. Подробно можно это рассмотретьв плейлисте по "ES6"
Привет! Я перехожу в репозиторий этого урока но файлы там полностью пустые, может поменялась ссылка? Очень нужен код Вашего урока.. Спасибо за видео, очень информативно!
Там есть ветки. Включите нужную
@@YauhenKavalchuk Благодарю!
Подскажите где Ссылка на урок )уже пол часа ищу в описании)) что за дичь)))
О каком уроке идёт речь?
@@YauhenKavalchuk про код урока) уже нашел) спасибо за быстрый ответ и за ваш контент!))) Все идеально объясняете)
Спасибо!
странная фигня, если ввести точное название новости но в выдаче пустые блоки joxi.net/1A5pzNKfDk1Rl2. это так api хакера работает или мы где то ошибку допустили ?
Не могу открыть вашу ссылку.
Подскажите, а где ссылка на API ?
В описании к видео и в GitHub репозитории, так же в описании
Подскажите, а у вас нет набраного когда? Ваша система придусматривает, что мы должны наберать за вами? Данный рипо пустой github.com/YauhenKavalchuk/react-js-tutorial
@@YauhenKavalchuk спасибо, нашел
а в цикле vue такого не было :) , так и живем.
Не было. Возможно доснимаю продолжение)
+
Сделайте уроки по вебпак. Этот трешаковый сборщик никак без нормального объяснения не дается мне
Буду старать, но приблизительный план на ближайшие уроки уже готов)
MatthewBellam, без знания английского в нем трудновато разобраться (поэтому вы и считаете что он "трешаковый"). Тем не менее в англоязычной документации описано практически все