Можно ли поместить целую страницу в реакт компонент

Можно ли взять код всего html документа (например index.html со всеми тегами meta, title, link) и поместить этот код в реакт компонент, который потом использовать для роутинга, или это не очень хорошо?


Ответы (1 шт):

Автор решения: Yakov Botov

Теоретически это возможно, но просто скопировать-вставить не получится.

Во-первых, реакт-компоненты по-умолчанию не работают с head html, поэтому для того, чтобы добавить meta, title и link, вам придется воспользоваться специальной библиотекой, которая расширяет возможности реакт-компонентов в этом плане. Один из примеров такой библиотеки - https://www.npmjs.com/package/react-helmet.

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

→ Ссылка