logologo
Começar
Manual
Desenvolvimento
Plugins
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Começar
Manual
Desenvolvimento
Plugins
API
logologo

Introdução

O que é o FlowEngine?
Relação entre FlowEngine e Plugins
Início Rápido
Roteiro de Aprendizagem

Guia

Registrar FlowModel
Criar FlowModel
Renderizar FlowModel
Fluxo de Eventos e Configuração do FlowModel
Persistência do FlowModel
Ciclo de Vida do FlowModel
Sistema de Contexto do FlowModel
Mecanismo Reativo: Observable
FlowModel vs React.Component

Definições

ModelDefinition
FlowDefinition
EventDefinition
ActionDefinition
StepDefinition
Previous PageSistema de Contexto do FlowModel
Next PageFlowModel vs React.Component
Aviso de tradução por IA

Esta documentação foi traduzida automaticamente por IA.

#Mecanismo de Reatividade: Observable

INFO

O mecanismo de reatividade Observable do NocoBase é essencialmente similar ao MobX. A implementação subjacente atual utiliza o @formily/reactive, e sua sintaxe e conceitos são altamente compatíveis com o MobX. O MobX não foi utilizado diretamente por razões históricas.

No NocoBase 2.0, objetos reativos Observable estão por toda parte. Eles são o núcleo do fluxo de dados subjacente e da responsividade da interface do usuário, sendo amplamente utilizados em componentes como FlowContext, FlowModel e FlowStep.

#Por que escolher Observable?

O NocoBase escolheu Observable em vez de outras soluções de gerenciamento de estado como Redux, Recoil, Zustand e Jotai, pelos seguintes motivos principais:

  • Extremamente flexível: Observable pode tornar qualquer objeto, array, Map, Set, etc., reativo. Ele suporta naturalmente aninhamento profundo e estruturas dinâmicas, tornando-o muito adequado para modelos de negócios complexos.
  • Não intrusivo: Você pode manipular diretamente o objeto original, sem a necessidade de definir actions, reducers ou stores adicionais, proporcionando uma excelente experiência de desenvolvimento.
  • Rastreamento automático de dependências: Ao envolver um componente com observer, o componente rastreia automaticamente as propriedades Observable que ele utiliza. Quando os dados mudam, a interface do usuário é atualizada automaticamente, sem a necessidade de gerenciar dependências manualmente.
  • Adequado para cenários fora do React: O mecanismo de reatividade Observable não é aplicável apenas ao React, mas também pode ser combinado com outros frameworks para atender a uma gama mais ampla de necessidades de dados reativos.

#Por que usar observer?

observer escuta as mudanças em objetos Observable e aciona automaticamente as atualizações dos componentes React quando os dados mudam. Isso mantém sua interface do usuário sincronizada com seus dados, sem a necessidade de chamar setState ou outros métodos de atualização manualmente.

#Uso Básico

import React from 'react';
import { Input } from 'antd';
import { observer, observable } from '@nocobase/flow-engine';

const obs = observable.deep({
  value: 'aa'
});

const MyComponent = observer(() => {
  return (
    <div>
      <Input
        defaultValue={obs.value}
        onChange={(e) => {
          obs.value = e.target.value;
        }}
      />
      <div>{obs.value}</div>
    </div>
  );
});

export default MyComponent;

Para mais informações sobre o uso reativo, consulte a documentação do @formily/reactive.