Всем добрый день!
Уже много дней гуглю, но не могу найти ответа на вопрос.
Есть готовый сайт. Бэкэнд на фреймворке Laravel.
Сайт полностью оптимизирован и не охота лишними скриптами засорять скорость.
Однако, охота чтобы фронтенд работал через React.
Для примера возьмём форму email подписки. Она полностью загружена и работает с перезагрузкой страницы - выдаётся сообщение "Проверьте почту и подтвердите Email".
Можно ли сделать так, чтобы React подгружался только при клике на поле ввода email адреса, а потом при клике по кнопке "Подписаться" уже происходила вся магия. Записывались данные в БД, отправлялось сообщение и выводилось уведомление "Проверьте почту и подтвердите Email" без перезагрузки страницы?
Для вашей задачи проще использовать Vue, так как Vue ну очень просто интегрируется в существующие проекты. Откройте, почитайте документацию и вопрос отпадет сам собой.
Ilya, ну вот у меня именно так и получается. Есть простая форма, которая без проблем загружается не тормозя сайт. Сайт уже готов, но после этого подключеется скрипт реакта, который перерисовывает эту же самую форму и тогда всё работает нормально... но вот только ненужное время к загрузке сайта прибавляется, причём почему-то не малое.
Нет возможности ни чего не рендерить через React, а сделать так, чтобы он начал работу только при клике на поле ввода? Ведь без ввода данных и весь функционал Реакта будет не нужен, так зачем тогда загружать изначально этот скрипт?
Ну или может один какой-то лёгкий скрипт подключить, который только потом в нужный момент будет вызывать подгрузку скриптов для функционала и перерисовки.
Антон Спирин, спасибо. Посмотрю в эту сторону, но вот только я осознанно переключил Laravel с Vue на React, так как хотел именно с ним поработать и поучиться в процессе решения задачь. Где-то вычитал, что вполне возможно использовать Laravel как бекенд, а React как фронтенд...
Выходит, что внедрить React в существующий прорисованный проект без перерисовки невозможно, чтобы при этом не утяжелять первоначальную загрузку сайта?
Ведь скрипт Реакта может и не понадобиться...
Как сделать, чтобы скрипт Реакта для отправки формы загружался только при заполнении формы?
А можно сделать так, чтобы другой скрипт нажатия на кнопку загружался только когда пользователь доскролит до этой кнопки?
А что если мне нужно выводить попап окно через 30 секунд, а другое попап окно при достижении подвала сайта...
Всё это получается изначально надо рендерить изначально и подгружать все эти 4 скрипта даже если ни один из них в итоге не понадобиться?
В одной статье написано, что React обычно использует одну точку для входа, но если он интегрируется в существующие проекты, то может быть сколько угодно точек.
Меня интересует второй вариант, но вот инструкций по нему найти не могу. При запросах типа "Интеграция React в существующий проект Laravel" выдаются стандартные инструкции перекличения сайта с Vue на React.
Может поможете ссылками на статьи по этому делу. Очень надо, а найти не могу.
Читал подряд все инструкции (конечно без практики 99% прочитанного вылетает из мозга), но думал среди инструкций может зацепку какую-то найду, но нет... везде только про то, как реактом бекенд делать, а только потом он и как фронтенд работает. А меня такой подход не устраивает.