1. Компоненты: Компоненты React являются строительными блоками приложений React. Они позволяют разработчикам создавать повторно используемые элементы пользовательского интерфейса, которые можно комбинировать для создания сложных интерфейсов.
  2. JSX: JSX — это расширение синтаксиса для JavaScript, которое позволяет разработчикам писать HTML-подобный код в своем коде JavaScript. JSX используется для определения структуры и содержимого компонентов React.
  3. Виртуальный DOM: React использует виртуальное представление DOM для повышения производительности. Когда состояние компонента изменяется, React обновляет виртуальный DOM, а затем вычисляет минимальное количество изменений, необходимых для обновления фактического DOM.
  4. Состояние: Состояние — это объект, содержащий данные, которые можно изменить в компоненте. Когда состояние изменяется, React повторно отображает компонент.
  5. Реквизиты: Реквизиты — это сокращение от свойств, которые используются для передачи данных от одного компонента к другому. Реквизиты доступны только для чтения и не могут быть изменены в компоненте, который их получает.
  6. Методы жизненного цикла. Жизненный цикл компонентов React проходит в несколько этапов, от инициализации до уничтожения. Методы жизненного цикла — это хуки, которые позволяют разработчикам запускать код в определенные моменты жизненного цикла компонента.
  7. Хуки: хуки — это функции, которые позволяют разработчикам использовать функции React, такие как методы состояния и жизненного цикла, в функциональных компонентах. Они позволяют разработчикам писать повторно используемую логику, которую можно использовать в разных компонентах.
  8. Обработка событий: React предоставляет простой способ обработки пользовательских событий, таких как клики и отправка форм. Обработчики событий — это функции, которые запускаются, когда пользователь взаимодействует с компонентом.
  9. Условный рендеринг: React позволяет разработчикам условно отображать компоненты на основе определенных условий. Это позволяет разработчикам создавать динамические пользовательские интерфейсы, которые реагируют на пользовательский ввод и другие переменные.
  10. Согласование. Согласование — это процесс, который React использует для обновления DOM при изменении состояния компонента. React вычисляет минимальное количество изменений, необходимых для обновления DOM, а затем эффективно применяет эти изменения.
  11. Компоненты высшего порядка: Компоненты высшего порядка (HOC) — это функции, которые принимают компонент в качестве входных данных и возвращают новый компонент с дополнительными функциями. HOC часто используются для повторного использования кода в нескольких компонентах или для добавления общих функций, таких как аутентификация или выборка данных.
  12. Контекст: Контекст — это функция, которая позволяет обмениваться данными между несколькими компонентами без необходимости передавать их через реквизиты. Контекст часто используется для глобальных данных, таких как информация о пользователе или настройки темы.
  13. Refs: Refs — это способ доступа к узлам DOM или элементам React, созданным компонентом. Ссылки часто используются для обработки пользовательского ввода, такого как фокус или выбор, или для взаимодействия со сторонними библиотеками, которым требуется доступ к DOM.
  14. Порталы: Порталы — это способ рендеринга вывода компонента за пределами иерархии DOM родительского компонента. Порталы часто используются для модальных окон, всплывающих окон или других элементов пользовательского интерфейса, которые необходимо отображать вне родительского компонента.
  15. Рендеринг на стороне сервера. Рендеринг на стороне сервера (SSR) — это метод, который позволяет приложениям React визуализироваться на сервере и отправляться клиенту в виде HTML. SSR может улучшить производительность и SEO, но требует дополнительной настройки и настройки.
  16. Границы ошибок. Границы ошибок — это способ обработки ошибок, возникающих в методе рендеринга компонента или методах жизненного цикла. Границы ошибок позволяют разработчикам изящно обрабатывать ошибки и предотвращать сбой всего приложения.
  17. React Router: React Router — это популярная библиотека маршрутизации для приложений React. React Router позволяет разработчикам определять маршруты URL и перемещаться между ними, что часто используется для создания одностраничных приложений.
  18. Redux: Redux — это библиотека управления состоянием для приложений React. Redux обеспечивает централизованное хранилище состояния приложения и позволяет разработчикам управлять сложными переходами состояний и потоком данных.
  19. Оптимизация производительности: React предоставляет несколько методов оптимизации производительности приложений React, включая разделение кода, отложенную загрузку и запоминание. Эти методы могут повысить скорость и время отклика приложений, особенно с большими или сложными компонентами.
  20. React DevTools: React DevTools — это расширение браузера, которое позволяет разработчикам проверять и отлаживать приложения React. DevTools предоставляет множество инструментов, помогающих разработчикам понимать иерархию компонентов, проверять состояние и реквизиты, а также анализировать производительность.