📄️ Hello React
Это вводная статья, в которой поэтапно рассказывается об истории React, установке необходимых инструментов, создании проекта с использованием TypeScript и Vite, а также о запуске приложения.
📄️ Ваш первый компонент React
src/App.tsx
📄️ React JSX
JSX представляет способ описания визуального кода посредством комбинации кода на JavaScript и XML-подобного синтаксиса разметки, во время компиляции JSX транслируется в обычный JavaScript.
📄️ Списки в React
В React создание и отображение списков — один из ключевых концептов.
📄️ Создайте свой первый компонент
Компоненты — одна из основных концепций React. Они являются основой, на которой вы строите пользовательские интерфейсы (UI).
📄️ Создание экземпляра компонента
Что бы понять суть React компонентов, давайте проведем небольшую аналогию с классами.
📄️ React DOM
Когда вы создаёте приложение на React, ваш интерфейс описан в виде компонентов и JSX-элементов. Но чтобы эти элементы действительно появились в браузере, нужна связь между React и реальным DOM. Эту связь обеспечивает библиотека react-dom.
📄️ Определение React-компонентов
Когда вы работаете с React, большая часть компонентов создаётся как функциональные.
📄️ Функции-обработчики
При работе с React, как и в обычном HTML, мы хотим реагировать на действия пользователя: ввод текста, клики по кнопкам, отправку формы и т.д. Для этого используются функции-обработчики событий (event handlers), которые мы передаём через специальные атрибуты JSX — такие как onChange, onClick, onSubmit и другие.
📄️ Компоненты и пропсы
В текущем приложении у нас есть переменная stories, которая объявлена в глобальной области видимости в компоненте List.
📄️ Управление состоянием компонентов
В React есть два основных способа работы с данными: пропсы и состояние (state). Если пропсы используются для передачи информации вниз по дереву компонентов, то state позволяет сделать приложение интерактивным — изменять внешний вид и поведение компонентов при взаимодействии с пользователем.
📄️ Передача данных вверх по иерархии компонентов
Проблема: изолированное состояние в дочернем компоненте
📄️ Подъем состояния в React
В React часто возникает необходимость делиться состоянием между несколькими компонентами. Например, когда вы вводите текст в поле поиска (компонент Search), и при этом должны фильтровать список элементов (компонент List) в родительском компоненте (App). В этом случае внутреннего состояния одного компонента уже недостаточно, и вам нужно «поднять состояние» выше по иерархии — в родительский компонент.
📄️ Контролируемые компоненты в React
Что такое контролируемые компоненты?
📄️ Side effects и хук useEffect
В React-приложениях компоненты должны быть предсказуемыми: при одинаковых входных данных (props и state) они должны возвращать одинаковый результат. Однако в реальных приложениях часто требуется выполнять действия, выходящие за рамки чистого рендеринга — например, запросы к API, работу с localStorage, подписку на события или таймеры. Такие операции называются побочными эффектами (side effects).
📄️ Пользовательские хуки вы React
Что такое пользовательские хуки?
📄️ Фрагменты React
При работе с JSX в React существует важное ограничение: каждый компонент должен возвращать один корневой элемент. Это часто приводит к необходимости добавлять лишние элементы-обёртки, такие как ` или `, даже когда они не нужны в разметке.
📄️ Создание переиспользуемых компонентов
Проблема специализированных компонентов
📄️ Императивное программирование в React: когда и как использовать
React в первую очередь продвигает декларативную парадигму программирования, где вы описываете, как должен выглядеть пользовательский интерфейс, основываясь на состоянии приложения, а React отвечает за обновление DOM. Это контрастирует с императивным программированием, которое включает в себя явное пошаговое инструктирование компьютера о том, как достичь результата, часто с помощью прямых манипуляций с DOM.
📄️ Inline обработчики событий в JSX
Создание состояния для списка
📄️ Работа с асинхронными данными
В современных веб-приложениях часто приходится работать с данными, которые загружаются асинхронно, например, через API.
📄️ Условный рендеринг в React
Условный рендеринг в React работает так же, как условные выражения работают в JavaScript.