Context (contexto)
No NocoBase, o contexto (Context) é a ponte que conecta o código do plugin com as capacidades do NocoBase. Por meio do contexto, você pode enviar requisições, fazer internacionalização, escrever logs, navegar entre páginas etc.
O contexto tem dois pontos de acesso:
- No Plugin:
this.context - Em componentes React:
useFlowContext()(importado de@nocobase/flow-engine)
Os dois retornam o mesmo objeto (instância de FlowEngineContext); apenas os cenários de uso são diferentes.
Uso no Plugin
Nos métodos de ciclo de vida do plugin, como load(), acesse via this.context:
Uso em componentes
Em componentes React, obtenha o mesmo objeto de contexto via useFlowContext():
Atalhos do Plugin vs propriedades do ctx
A classe Plugin oferece alguns atalhos para facilitar o uso dentro de load(). No entanto, atenção: alguns atalhos da classe Plugin e propriedades do mesmo nome no ctx apontam para coisas diferentes:
Os pontos mais fáceis de confundir são this.router e ctx.router:
this.router(atalho do Plugin) → RouterManager, usado para registrar rotas (.add())ctx.router(propriedade do contexto) → instância do React Router, usada para navegar entre páginas (.navigate())
Capacidades comuns oferecidas pelo contexto
A seguir estão as capacidades de contexto mais comuns. Algumas só estão disponíveis no Plugin, outras só em componentes, e algumas existem nos dois lados, mas com formas de uso diferentes.
Para uso detalhado de cada capacidade e exemplos de código, veja Capacidades comuns.
Links relacionados
- Capacidades comuns — uso detalhado de ctx.api, ctx.t, ctx.logger etc.
- Plugin — entrada do plugin e atalhos
- Desenvolvimento de Component — uso básico de useFlowContext em componentes

