Мы с вами уже научились создавать компоненты, управлять их состоянием, работать с формами и маршрутизацией. Наши приложения функциональны, но пока они выглядят не очень презентабельно. Пришло время добавить им стиля. В этом уроке мы разберем три основных подхода к стилизации React-приложений, классические CSS-модули, современные CSS-in-JS библиотеки на примере Styled Components, а также бегло взглянем на […]

Читать полностью

Если вы здесь, значит, вы уже успели познакомиться с компонентами, состоянием, хуками и даже с управлением глобальным состоянием. Это огромный пласт работы и вы большие молодцы! Но до сих пор все наши приложения жили на одной-единственной странице. Сегодня мы кардинально меняем этот подход. В этом уроке мы с вами выйдем на новый уровень и научимся […]

Читать полностью

Я перепробовал десятки инструментов, но когда в Яндекс Бизнесе появились промостраницы, я был по-настоящему впечатлен. Это один из тех редких случаев, когда платформа предлагает действительно «волшебную кнопку», которая одновременно упрощает жизнь предпринимателя и серьезно экономит его бюджет. Сегодня я хочу подробно разобрать, что это за инструмент, как он работает для разных типов бизнеса и как […]

Читать полностью

Добро пожаловать на 24-й урок нашего курса. Сегодня мы будем говорить не о новых хуках или сложных паттернах управления состоянием. Мы поговорим о чем-то более фундаментальном, о философии, которая делает React по-настоящему мощным. Мы изучим композицию компонентов, а именно как использовать props.children и передачу компонентов через пропсы для создания не просто компонентов, а гибких и переиспользуемых […]

Читать полностью

В предыдущих уроках мы с вами разобрались с основами маршрутизации. Это важный фундамент, но настоящая мощь одностраничных приложений (SPA) раскрывается, когда страницы становятся динамическими. Сегодня, в нашем 23-м уроке, мы погрузимся в мир динамических маршрутов. Представьте себе интернет-магазин. У вас не может быть отдельного маршрута для каждого из тысяч товаров вроде /product/1, /product/2 и так далее. Это неэффективно […]

Читать полностью

Привет читателем моего блога. Сегодня мы разберем самый главный вопрос для любого рекламодателя: «А сколько я на самом деле зарабатываю с каждого вложенного рубля?». Если вы до сих пор смотрите только на стоимость клика (CPC) и количество переходов, вы видите лишь верхушку айсберга. Сейчас точность измерений это не опция, а необходимость. Конкуренция растет, бюджеты требуют […]

Читать полностью

Сегодня нас ждет один из самых интересных уроков во всем курсе. Мы будем говорить о маршрутизации. До этого момента все наши приложения были сосредоточены на одном экране, на одной «странице». Мы управляли состоянием, меняли интерфейс, но не переходили между разными представлениями, как в классических веб-сайтах. Но что, если мы хотим создать многостраничное приложение, например, интернет-магазин […]

Читать полностью

Мы с вами уже прошли большой путь, изучив основы, компоненты, props и хук useState, который стал нашим верным спутником в управлении состоянием компонентов. Но сегодня мы переходим на новый уровень. Мы будем говорить о состоянии, которое становится слишком сложным для useState. Представьте, что вы строите дом. Пока вы кладете кирпичи, вам нужен лишь молоток (useState). Но […]

Читать полностью

Сегодня на уроке 20-м мы будем говорить о проблеме, с которой сталкивается каждый React-разработчик и об изящном способе её решения с помощью хука useContext. Если вы дошли до этого урока, вы уже отлично владеете основами: компоненты, состояние с useState, побочные эффекты с useEffect. Вы видели, как данные передаются сверху вниз по дереву компонентов через пропсы. Это фундаментальный […]

Читать полностью

Добрый день читатели моего блога. Я помню, как когда-то сам раздражался, когда после прочтения интересной статьи на меня вываливалось несколько кричащих баннеров или откровенно нативная реклама, которая не имела никакого отношения к прочитанному. Это было похоже на предательство, ты доверяешь автору, а он тебя «продает». Именно это чувство заставило меня искать другие пути. Я начал […]

Читать полностью