Почему мы используем <div>#root вместо <body>?

Итак, насколько я понимаю, приложение React может отображаться практически внутри любого элемента HTML, на который мы указываем селектором. Почему принято использовать дополнительные <div> с идентификатором root, а не просто <body>?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
10
0
1 459
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

От создателя Redux (Дэна Абрамова) вот что он может сказать о рендеринге в тело.

If you render directly into document.body, you risk collisions with scripts that do something with it (e.g. Google Font Loader or third party browser extensions) which produce very weird and hard to debug errors in production. React warns you if you attempt to do this.

https://github.com/facebook/create-react-app/issues/1568

Хотя это мало что объясняет. Было бы неплохо иметь список актуальных распространенных проблем (разместить здесь или по ссылке). И скрипты могут возиться с любым элементом, так что с телом это происходит чаще, верно? И не является ли это недостатком тех скриптов, о которых следует сообщать их авторам и исправлять, возможно, с помощью универсального решения или хотя бы под руководством команды React?

ByteEater 05.12.2020 16:00

Другие вопросы по теме