Integração com Next.js
Separe a troca de token no runtime Node e o editor em um Client Component pequeno e previsível.
Abrir como MarkdownDesenhe a fronteira server/client
No App Router, mantenha @rhizzalab/report-node atrás de uma Route Handler com runtime = "nodejs". Importe @rhizzalab/report-react apenas a partir de um Client Component.
| Arquivo | Runtime | Pode conhecer |
|---|---|---|
app/api/rhizzadocs/token/route.ts | Node.js | Client id, client secret e sessão do host |
components/report-screen.tsx | Browser | JWT temporário, reportType, data, documentKey |
app/reports/[id]/page.tsx | Server Component | Dados do produto antes da serialização |
Configure as variáveis de ambiente
RHIZZADOCS_CLIENT_ID=client_xxx
RHIZZADOCS_CLIENT_SECRET=secret_xxx
RHIZZADOCS_API_URL=https://api.rhizzalab.com
NEXT_PUBLIC_RHIZZADOCS_API_URL=https://api.rhizzalab.comTrate o ciclo de vida do editor
- Em
onReady, registre apenas identificadores e permissões efetivas — nunca token ou dados do relatório. - Em
onAuthRequired, peça outro token ao backend do host. - Em
onDirtyChange, decida se a navegação do seu produto deve confirmar alterações pendentes. - Em
onConflict, apresente uma escolha explícita entre o trabalho local e a versão remota. - Em
onError, use o código estável para decidir recuperação e uma mensagem adequada ao seu fluxo.
O Quickstart contém os dois arquivos mínimos. Para emissão isolada, veja Token no backend.