TGViewer
React React @react_lib · 2.66K subscribers
Post #29 1.5K
Кастомный React рендерер

Когда React рендерит приложение и обновляет DOM, то используется React DOM. При рендере приложения на сервере используется модуль react-dom/server. Для мобильных приложений для рендера используется модуль react-native. 

Таким образом, для каждого окружения используется свой рендерер, хотя модуль react используется везде один. 

Модуль react предоставляет API для определения компонентов, а реализация находится в “рендерерах”. Для связи хуков с реализацией используется объект “диспатчер”. При вызове useState, вызов перенаправляется текущему диспатчеру рендерера. Об этом есть подробная статья в блоге Дэна Абрамова.

Для разработки своего рендерера необходимо описать объект “host config”, в котором описаны методы реализации API React. Выглядит так:


const HostConfig = {
createInstance(type, props) {
// e.g. DOM renderer returns a DOM node
},
// ...
supportsMutation: true, // it works by mutating nodes
appendChild(parent, child) {
// e.g. DOM renderer would call .appendChild() here
},
// ...
};


https://github.com/facebook/react/blob/main/packages/react-reconciler/README.md

✍️ @React_lib
  • 👍 1
More from @react_lib
  1. Oct 2, 2026👨‍💻 Фронтенд с AI: что можно делегировать агентам 5 октября, стартует конференция Podlod…
  2. Sep 30, 2026Сегодня покажу вам, как в React удобно работать с формами на базе react-hook-form. Это мой…
  3. Sep 29, 2026Как сделать loader с задержкой, чтобы не мигал? Иногда при загрузке данных хочется показат…
  4. Sep 11, 2026🚨 Избегай монолитных компонентов, которые объединяют в себе отображение, управление состо…
  5. Sep 7, 2026❌ Избегайте использования нескольких переменных состояния для отслеживания статуса. ✅ Вмес…
  6. Aug 31, 2026Сегодня написал пост на тему, которая регулярно бьёт по скорости разработки: почему React-…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →