1. Что такое Reactjs:

React – это бесплатная внешняя библиотека JavaScript с открытым исходным кодом для создания пользовательских интерфейсов на основе компонентов пользовательского интерфейса. Он поддерживается Meta (ранее Facebook) и сообществом отдельных разработчиков и компаний (Wikipedia).

2. До Reactjs:

В начале 2000-х у нас был базовый Html/Css и немного javascript для взаимодействия.

Проблема заключалась в том, что все эти веб-сайты запускались в разных браузерах, все они построены по-разному, поэтому, поскольку мы хотим использовать больше javascript, мы должны приспособить наш javascript для работы с этими браузерами.

И у нас выходит Jquery, который позволяет нам без проблем взаимодействовать со всеми этими браузерами.

JQuery упрощает управление DOM в любом браузере, но это обязательно.

Еще в 2009 году Google начал работать над идеей создания одностраничной среды (SPA), ориентированной на приложения. Это AngularJS.

3. Рождение SPA:

SPA (одностраничное приложение) — это веб-приложения, которые кажутся одной страницей, но на самом деле динамически отображают и повторно отображают новый контент, полагаясь только на ресурсы веб-браузера.

До SPA у нас было много страниц (html-страница) и меньше файлов JavaScript, теперь с SPA у нас больше файлов Javascript (компонентов) и одна страница.

Мы уделяем меньше внимания HTML, вы загружаете код приложения только тогда, когда wz остается на той же странице, а javascript обновляет DOM для отображения других страниц (Компоненты).

Основным преимуществом SPA является обход низких задержек сервера.

AngularJS позволяет разработчикам создавать большие веб-приложения с использованием компонентов, но имеет несколько проблем.

Facebook решил эти проблемы с помощью React. Он стал популярной внешней библиотекой и помог создавать масштабируемые веб-приложения.

4. Концепции React:

DOM: React заботится об управлении DOM (декларативным), нас не волнует DOM. VirtualDOM знает, когда и где обновить ДОМ.

Компоненты: React позволяет нам создавать веб-сайты, подобные блокам лего, он основан на идее повторно используемых компонентов.

Однонаправленный поток данных. Поток данных является однонаправленным от родительского компонента к дочернему.

React — это библиотека пользовательского интерфейса: ReactJs — это просто библиотека пользовательского интерфейса, остальное зависит от вас. Он отвечает за интерфейс View & User и другие вещи, такие как маршрутизация, которые вам нужны для использования внешних библиотек.