Поиск по блогу
23.12.2021
Хук useSearchParams предназначен для чтения и изменения строки запроса в URL для текущего маршрута. По аналогии с хуком useState возвращает значение и функцию для изменения этого значения. Значение — это объект URLSearchParams, у которого множество методов для работы с GET-параметрами (get, set, getAll, has, append, delete, …).
22.12.2021
Хук useHistory был удален из React Router 6, теперь вместо него
useNavigate
. В принципе, использование этих двух хуков мало чем отличается. Хук возвращает функцию, которая в качестве первого аргумента принимает строку URL или целое число. Целое число может быть положительным (движение вперед по истории)…
21.12.2021
Давайте вместо простого компонента Blog.js создадим в директории src/blog несколько других — BlogLayout.js, BlogIndex.js, BlogCategory.js и BlogArticle.js. Кроме того, создадим файл с данными BlogData.js, где будем хранить категории и статьи блога. Но для начала изменим компонент App.js…
20.12.2021
Совсем недавно разбирался с роутингом в react-приложениях, но вышла 6 версия модуля react-router-dom — и пришлось разбираться заново. В новой версии больше нет Switch, теперь нужно использовать Routes, вместо атрибута component внутри Route теперь атрибут element. Атрибуты path и to внутри Route и Link теперь могут быть относительными…
17.12.2021
MobX — это проверенная в боевых условиях библиотека, которая делает управление состоянием простым и масштабируемым за счет прозрачного применения функционального реактивного программирования (TFRP). Философия MobX проста — все, что может быть получено из состояния приложения, должно быть получено автоматически.
03.10.2021
Для реализации пагинации с помощью React Query достаточно включить информацию о текущей странице в ключ запроса. И добавить на страницу списка постов информацию о текущей странице и кнопки для перехода к следующей и предыдущей. Кроме того, нам надо изменить код сервера, чтобы он возвращал не все посты, а только часть…
24.09.2021
Традиционный метод fetch() отлично подходит для извлечения данных с помощью API. Однако по мере разрастания и усложнения приложения можно столкнуться с рядом трудностей. Первая трудность — кэширование полученных данных и поддержание кэша в актуальном состоянии. Вторая трудность — большой объем данных…
10.07.2021
Один компонент готов, осталось еще шесть — Dropdown, Card, Modal, Tab, Accordion и Carousel. Для компонента Button потребовалось только задать стили, но для других компонентов нужно будет добавить js-код, который их «оживит». После этого создадим сервисы для работы с сервером и приступим к проекту с использованием нашей библиотеки.
02.07.2021
Еще одни проект, но гораздо интереснее первых трех — создание своей библиотеки. Во-первых, в ней будет возможность работы с элементами страницы — отобрать по селектору, скрыть, показать. Во-вторых, будет возможность быстро создать слайдер, аккордеон, вкладки, модальное окно, dropdown-меню.
13.06.2021
Давайте для начала рассмотрим простой пример, а потом немного усложним, чтобы в итоге получить модуль. Мы объявили приватные переменные something и another, а также пару внутренних функций doSomething() и doAnother(). Обе имеют лексическую область видимости (а следовательно, и замыкание) над внутренней областью видимости foo().