Рендеринг FlowModel
Рендерер FlowModel (FlowModelRenderer) — основной React-компонент для рендеринга FlowModel. Он отвечает за преобразование экземпляра FlowModel в визуальный React-компонент.
Базовое использование
Рендерер FlowModel (FlowModelRenderer)
FieldModelRenderer
Для управляемых field-моделей используйте FieldModelRenderer:
Props
Свойства рендерера FlowModel (FlowModelRendererProps)
Детальная конфигурация showFlowSettings
Когда showFlowSettings задан объектом, поддерживаются следующие настройки:
Жизненный цикл рендеринга
Весь цикл рендеринга вызывает следующие методы по порядку:
- model.dispatchEvent('beforeRender') - событие
beforeRender - model.render() - выполнение метода рендера модели
- model.onMount() - хук монтирования компонента
- model.onUnmount() - хук размонтирования компонента
Примеры использования
Базовый рендер
Рендер с настройками Flow
Кастомный Toolbar
Пропуск Auto Flows
Рендер Field Model
Обработка ошибок (Error Handling)
Рендерер FlowModel (FlowModelRenderer) имеет встроенный комплексный механизм обработки ошибок:
- Автоматический Error Boundary:
showErrorFallback={true}включен по умолчанию - Ошибки Auto Flow: перехватывает и обрабатывает ошибки во время выполнения auto flows
- Ошибки рендеринга: показывает fallback-контент, если рендер модели завершился ошибкой
Оптимизация производительности
Пропуск Auto Flows
Для сценариев, где auto flows не нужны, их можно пропустить для повышения производительности:
Реактивные обновления (Reactive Updates)
Рендерер FlowModel (FlowModelRenderer) использует observer из @formily/reactive-react для реактивных обновлений, чтобы компонент автоматически перерендеривался при изменении состояния модели.
Примечания
- Валидация модели: убедитесь, что переданная
modelимеет корректный методrender. - Управление жизненным циклом: хуки жизненного цикла модели будут вызваны в соответствующие моменты.
- Предохранитель: в рабочей среде рекомендуется использовать error boundary для повышения удобства работы.
- Производительность: в сценариях с большим количеством рендеров моделей рассмотрите использование
skipApplyAutoFlows.

