Эта документация была автоматически переведена ИИ.
| Характеристика/Возможность | React.Component | FlowModel |
|---|---|---|
| Возможность рендеринга | Да, метод render() генерирует UI | Да, метод render() генерирует UI |
| Управление состоянием | Встроенные state и setState | Использует props, но управление состоянием в большей степени зависит от структуры дерева моделей |
| Жизненный цикл | Да, например, componentDidMount | Да, например, onInit, onMount, onUnmount |
| Назначение | Создание UI-компонентов | Создание управляемых данными, потоковых, структурированных «деревьев моделей» |
| Структура данных | Дерево компонентов | Дерево моделей (поддерживает родительские и дочерние модели, многоэкземплярный Fork) |
| Дочерние компоненты | Использование JSX для вложенности компонентов | Явное определение дочерних моделей с помощью setSubModel/addSubModel |
| Динамическое поведение | Привязка событий, обновление состояния управляют UI | Регистрация/диспетчеризация рабочих процессов, обработка автоматических рабочих процессов |
| Персистентность | Нет встроенного механизма | Поддерживает персистентность (например, model.save()) |
| Поддержка Fork (многократный рендеринг) | Нет (требуется ручное повторное использование) | Да (createFork для создания нескольких экземпляров) |
| Управление движком | Нет | Да, управляется, регистрируется и загружается FlowEngine |
| Хук жизненного цикла | React.Component | FlowModel |
|---|---|---|
| Инициализация | constructor, componentDidMount | onInit, onMount |
| Размонтирование | componentWillUnmount | onUnmount |
| Реагирование на ввод | componentDidUpdate | onBeforeAutoFlows, onAfterAutoFlows |
| Обработка ошибок | componentDidCatch | onAutoFlowsError |
React:
FlowModel:
| Функция | Описание |
|---|---|
registerFlow | Регистрация рабочего процесса |
applyFlow / dispatchEvent | Выполнение/запуск рабочего процесса |
setSubModel / addSubModel | Явное управление созданием и привязкой дочерних моделей |
createFork | Поддерживает повторное использование логики модели для многократного рендеринга (например, для каждой строки в таблице) |
openFlowSettings | Настройки шага рабочего процесса |
save / saveStepParams() | Модель может быть персистентной и интегрироваться с бэкендом |
| Пункт | React.Component | FlowModel |
|---|---|---|
| Подходящие сценарии | Организация компонентов на уровне UI | Управление потоками и блоками, управляемое данными |
| Ключевая идея | Декларативный UI | Структурированный рабочий процесс, управляемый моделью |
| Метод управления | React управляет жизненным циклом | FlowModel управляет жизненным циклом и структурой модели |
| Преимущества | Богатая экосистема и набор инструментов | Сильная структурированность, персистентность рабочих процессов, управляемость дочерних моделей |
FlowModel может использоваться в сочетании с React: вы можете использовать React для рендеринга внутри FlowModel, при этом его жизненный цикл и структура будут управляться FlowEngine.