Desenvolvimento de Component
No NocoBase, os componentes de página montados nas rotas são componentes React comuns. Você pode escrevê-los diretamente com React + Antd, sem diferença em relação ao desenvolvimento front-end comum.
Adicionalmente, o NocoBase fornece:
observable+observer— forma recomendada de gerenciar estado, mais adequada ao ecossistema NocoBase do queuseStateuseFlowContext()— obtém as capacidades do contexto NocoBase (envio de requisições, internacionalização, navegação por rotas etc.)
Forma básica
Um componente de página simples:
Após escrevê-lo, registre-o no load() do plugin com this.router.add(). Veja Router de rotas para mais detalhes.
Gerenciamento de estado: observable
O NocoBase recomenda usar observable + observer para gerenciar o estado dos componentes em vez do useState do React. As vantagens são:
- Modificar diretamente as propriedades do objeto já dispara a atualização, sem precisar de
setState - Coleta de dependências automática; o componente só renderiza novamente quando uma propriedade utilizada muda
- É consistente com o mecanismo reativo da camada base do NocoBase (FlowModel, FlowContext etc.)
Uso básico: crie um objeto reativo com observable.deep() e envolva o componente com observer(). Tanto observable quanto observer são importados de @nocobase/flow-engine:
Pré-visualização do resultado:
Para mais detalhes, veja Mecanismo reativo Observable.
Usando useFlowContext
useFlowContext() é o ponto de entrada para conectar com as capacidades do NocoBase. Importe-o de @nocobase/flow-engine. Ele retorna um objeto ctx:
A seguir, exemplos das capacidades mais comuns.
Envio de requisições
Use ctx.api.request() para chamar APIs do backend, com uso semelhante ao do Axios:
Internacionalização
Use ctx.t() para obter o texto traduzido:
Navegação por rotas
Use ctx.router.navigate() para navegar entre páginas:
Obter os parâmetros da rota atual:
Obter o nome da rota atual:
Para mais níveis de log e formas de uso, veja Context → Capacidades comuns.
Exemplo completo
Combinando observable, useFlowContext e Antd, um componente de página que busca e exibe dados do backend:
Próximos passos
- Capacidades completas oferecidas por
useFlowContext— veja Context (contexto) - Personalização de estilos e temas — veja Styles & Themes (estilos e temas)
- Se o seu componente precisa aparecer no menu "Adicionar bloco / campo / ação" do NocoBase e suportar configuração visual pelo usuário, envolva-o com FlowModel — veja FlowEngine
- Não tem certeza se deve usar Component ou FlowModel? — veja Component vs FlowModel
Links relacionados
- Router de rotas — registrar rotas de página, montando componentes em URLs
- Context (contexto) — apresentação completa das capacidades de useFlowContext
- Styles & Themes (estilos e temas) — createStyles, theme tokens etc.
- FlowEngine — usar FlowModel quando precisar de configuração visual
- Mecanismo reativo Observable — gerenciamento de estado reativo do FlowEngine
- Context → Capacidades comuns — capacidades integradas como ctx.api, ctx.t etc.
- Component vs FlowModel — escolha entre componente ou FlowModel

