Для выделения компонента ядра из фронтенд части приложения на React можно использовать подходы, такие как создание отдельного пакета с базовым функционалом, использование контекста React для передачи данных и состояния между компонентами, использование хука useRef для доступа к DOM элементам и управления ими и создание отдельных папок и файлов для модулей ядра.
Чтобы разделить монолитное приложение на React на ядро и кастомную часть, можно использовать подходы, такие как создание отдельных npm пакетов для ядра и кастомных частей, использование наследования классов или композицию компонентов для добавления специфичного функционала, использование props для передачи данных и настроек между ядром и кастомной частью, и возможно даже использование контекста React для обмена данными между компонентами.
Таким образом, возможно выделить ядро приложения на React, содержащее базовый функционал, и добавить кастомную часть, содержащую специфичный функционал для конкретной организации, без необходимости изменения исходного кода ядра.