Всем привет. Интересует опыт использования React-компонентов в non-SPA. Например, на обычном многостраничном сайте с бэкенд-технологиями (а ещё конкретнее, на сайте, который сделан на Django).
Есть небольшой опыт внедрения Vue в таком формате (на каждую страницу был index.js куда импортировались компоненты и там же регистрировались и потом становились доступны в Django-шаблонах через тег v-example-component и туда передавались данные с помощью атрибутов для Vue: :prop="{{ value }}").
Как использовать такое с React? Есть у кого-либо опыт или идеи?
P.S: если у кого-то возникнет вопрос "А зачем вообще тогда Vue/React в таком формате" отвечу сразу - ради реактивности и обработки событий. Ну и ради разбиения кода на компоненты, что само по себе удобно.
так же как и vue.
подключаете js в котором инициализация реакт - приложения в нужный контейнер.
Данные туда можно передавать по разному, я бы просто в js положил в глобальный объект какой-то.
Реакт приложения вообще можно хоть с чем склеивать.
Я вот периодически пишу виджеты на реакте и вставляю их в Тильду(!) тот ещё гемор, но на работе требуют функционала, а лендинги уже на тильде работают... Приходится вставлять ифреймами. зато универсально.
В вашем случае все удобней если у вас вьюшка на джанго, то просто коппируете в ассет нужную статику, которуя добавляете в страницу с искомым тегом в который будет загружаться реакт проект.
К примеру так и таких штук на странице может быть любое количество.
Отдельно скажу, что прикольно работать с порталами.
Везде вот вижу подробную реализацию только через через id элемента, а как быть с классами, когда нужно много повторяющихся компонентов? Кнопки, например.