Концептуальный вопрос по SPA на React

179
15 апреля 2019, 10:30

Как правильно (общепринято) делать SPA на React - собрать один большой React-компонент (из многих маленьких компонентов ) и рендерить его в <div id="root"></div> или же возможно часть (малоизменяемую или неизменяюмую - к примеру какую нибудь шапку) традиционно на HTML , a React - компоненты использовать только в тех частях где требует SPA? И возможно аргументы за и против обоих подходов.

Answer 1

Зависит от функционала. Если все на странице требует динамики, например в той же шапке отображаются результаты действий, или в ней присутствуют компоненты типа юзер-профайла, или состав меню зависит от роли и т.д., то есть смысл все сразу делать на реакте, загружая приложение в корневой див.

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

Основной плюс статичных шапки и подвала: при сбое в работе приложения пользователь все равно увидит шапку с некими действиями (например перезагрузить) или подвал с адресом/телефоном, куда сообщить. В другом случае, при сбое приложения, пользователь увидит просто белый экран.

READ ALSO
browser-sync, не перезагружается страница

browser-sync, не перезагружается страница

При изменении файла HTML не происходит перезагрузка страницы, хотя в командной строке пишет якобы страница перезагрузилась, в чем дело?

126
Выделить часть текста в TextView

Выделить часть текста в TextView

Мой текст в TextView генерируется из различных int

195
JQuery - удалить стиль, добавленный с помощью функции .css()

JQuery - удалить стиль, добавленный с помощью функции .css()

Как сделать что бы при клики на кнопку, применялись стили функцииcss() и показывалось меню, а потом при втором клике стили этой кнопки обнулялись?

143
как применить разные анимации на один элемент при нажатии кнопки

как применить разные анимации на один элемент при нажатии кнопки

я попыталась это сделать, но получается что когда нажимаю, элемент исчезает, потом только при повторном нажатии кнопки появляется и анимируется

157