Создание шаблона сайта для приложений React

#html #css #reactjs

#HTML #css #reactjs

Вопрос:

Новичок в React и хотел получить некоторое представление о том, как лучше всего создать веб-сайт, на котором в конечном итоге будет много СПА-салонов, разработанных разными командами.

В идеале команда хотела бы создать новый SPA, и они могли бы добавить в свой SPA некоторые элементы, которые позволили бы их сайту иметь общий внешний вид и, возможно, навигацию.

Я представляю себе это место, где есть основная навигация (заголовок, навигационное меню и т.д.), Которой я управляю, и многие из них ссылаются на подстраницы, которые на самом деле являются автономными страницами SPA. Но если мы хотим поделиться такими вещами, как настройки, разрешения, схема компоновки, есть ли испытанный и верный способ сделать это?

Я опытный веб-разработчик, который действительно новичок в Angular или React. В тот день я бы просто создал фрейм или имел заголовок, который был своего рода включением на стороне сервера. Но я чувствую, что сейчас все могло бы быть совсем по-другому или более изощренно.

Цель здесь была бы в том, чтобы, если бы мы захотели изменить схему внешнего вида или основной заголовок / навигацию, нам не пришлось бы обновлять все SPA по отдельности для этого. Итак, это нечто большее, чем создание SPA (что очень хорошо документировано), но скорее «что мы, как фирма, можем сделать для централизации и размещения всех веб-приложений нашей команды?»

Заранее спасибо

Комментарии:

1. Известно ли вам о рендеринге на стороне сервера? (next.js )

Ответ №1:

Вы хотите изучить «Компоненты более высокого порядка (HOC)» в React. По сути, вы определяете макет внутри компонента React (допустим, вы создаете /src/components/Layout/Layout.js ), импортируете туда свои компоненты Header(.js) и Footer(.js) и помещаете {props.children} в середину (именно здесь отображается содержимое маршрутов.

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