Рендеринг FlowModel
FlowModelRenderer — это основной React-компонент для рендеринга FlowModel. Он отвечает за преобразование экземпляра FlowModel в визуальный React-компонент.
Основное использование
FlowModelRenderer
FieldModelRenderer
Для рендеринга управляемых моделей полей (FieldModel) используйте FieldModelRenderer:
Параметры Props
FlowModelRendererProps
Детальная конфигурация showFlowSettings
Когда showFlowSettings является объектом, поддерживаются следующие конфигурации:
Жизненный цикл рендеринга
Полный цикл рендеринга вызывает следующие методы в указанном порядке:
- model.dispatchEvent('beforeRender') - Событие 'beforeRender'
- model.render() - Выполняет метод рендеринга модели
- model.onMount() - Хук монтирования компонента
- model.onUnmount() - Хук размонтирования компонента
Примеры использования
Базовый рендеринг
Рендеринг с настройками рабочего процесса
Пользовательская панель инструментов
Пропуск автоматических рабочих процессов
Рендеринг модели поля
Обработка ошибок
FlowModelRenderer имеет встроенный комплексный механизм обработки ошибок:
- Автоматический обработчик ошибок:
showErrorFallback={true}включен по умолчанию - Ошибки автоматических рабочих процессов: Перехватывает и обрабатывает ошибки во время выполнения автоматических рабочих процессов
- Ошибки рендеринга: Отображает резервное содержимое при сбое рендеринга модели
Оптимизация производительности
Пропуск автоматических рабочих процессов
В сценариях, где автоматические рабочие процессы не требуются, вы можете пропустить их для повышен ия производительности:
Реактивные обновления
FlowModelRenderer использует observer из @formily/reactive-react для реактивных обновлений, гарантируя, что компонент автоматически перерендерится при изменении состояния модели.
Примечания
- Валидация модели: Убедитесь, что переданная
modelимеет действительный методrender. - Управление жизненным циклом: Хуки жизненного цикла модели будут вызываться в соответствующее время.
- Границы ошибок: Рекомендуется включать границы ошибок в производственной среде для обеспечения лучшего пользовательского опыта.
- Соображения производительности: Для сценариев, включающих рендеринг большого количества моделей, рассмотрите возможность использования опции
skipApplyAutoFlows.

