Поиск по блогу
24.09.2021
Традиционный метод fetch() отлично подходит для извлечения данных с помощью API. Однако по мере разрастания и усложнения приложения можно столкнуться с рядом трудностей. Первая трудность — кэширование полученных данных и поддержание кэша в актуальном состоянии. Вторая трудность — большой объем данных…
17.09.2021
Небольшое приложение — телефонная книга, не имеет практической ценности, сделано исключительно с целью изучения React. Изначально вообще не планировал публиковать это, но столкнулся с интересным случаем, когда функция-редюсер вызывалась дважды для одного action. Несколько часов не мог понять — что вообще происходит?
15.09.2021
Смотрю сейчас на Udemy видео-курс по хукам — столкнулся с непониманием, зачем хуку useCallback нужны зависимости. Выяснил у преподавателя и решил записать, чтобы не наступать больше на эти грабли. Итак, есть два компонента — Parent и Child, в Parent есть функция, обернутая в useCallback, чтобы избежать лишних рендеров Child.
12.09.2021
Компонент высшего порядка в React это паттерн, используемый для того, чтобы делить функционал между компонентами без повторения кода. Такие компоненты, по факту, не совсем являются компонентами, это скорее функции. Такая функция берёт компонент как аргумент и возвращает новый компонент.
11.09.2021
На концептуальном уровне понять render props очень просто. Давайте забудем на минуту о React и посмотрим на вещи в контексте ванильного JavaScript. У нас есть функция, которая вычисляет сумму двух чисел. Для начала мы просто хотим вывести результат вычисления в консоль.
08.09.2021
Небольшой компонент для ввода pin-кода из четырех цифр. Создает четыре input-поля и отслеживает, чтобы в каждом была только одна цифра. При вводе очередной цифры смещает фокус на следующее поле. Используя клавишу Backspace, можно удалить введенное значение, при втором нажатии — сместить фокус на предыдущее поле.
27.08.2021
Небольшое приложение — каталог рецептов блюд всего мира, не имеет практической ценности, сделано исключительно с целью изучения React. Для оформления используется css-фреймворк materialize.css, http-запросы на получение рецептов отправляются сервису themealdb.com. Итак, разворачиваем react-приложение.
25.08.2021
Давайте еще доработаем наше приложение и добавим маленький блог. Категорий у блога не будет, а постов будет всего два — но для нас этого достаточно. Создадим директорию src/blog и разместим в ней два компонента и контекст (в котором будем хранить посты блога). И посмотрим, как передавать параметры…
23.08.2021
В рамках маршрутов в React можно определять дочерние маршруты. Такие подмаршруты будут отсчитываться от главного маршрута. Давайте добавим в наше приложение маленький каталог товаров, который будет содержать два раздела и четыре товара (по два в каждом разделе).
22.08.2021
В React имеется своя система маршрутизации, которая позволяет сопоставлять запросы к приложению с определенными компонентами. Ключевым звеном в работе маршрутизации является модуль react-router, который содержит основной функционал по работе с маршрутизацией. Для браузерных приложений предназначен модуль react-router-dom…