sdkUrl
mesmo em desenvolvimento.
O mount() é imperativo de propósito, então o único lugar onde ele cabe num app React é dentro de
um efeito. É uma porta estreita, e é fácil de errar exatamente do jeito que o modo de
desenvolvimento do React foi feito para pegar: o <StrictMode> invoca cada efeito duas vezes, e uma
montagem que não é idempotente monta o widget duas vezes ou destrói a sessão que acabou de criar.
Pré-requisitos
- Node.js 20 ou superior.
- Uma
sdkUrlemitida pelo seu backend, como em emitir a credencial.
O wrapper
@legitimuz/websdk-react, com useLegitimuz e <LegitimuzWidget />, publica no npm
no lançamento. O hook abaixo tem a mesma forma, então trocar por um import é mudança de uma linha.Monte o fluxo
1
Carregue o SDK
index.html
window.Legitimuz.2
Declare o global
O build de CDN não traz tipos. Declare o que você usa:
src/legitimuz.d.ts
3
Escreva o hook
src/useLegitimuz.ts
4
Use no componente
src/VerificationWidget.tsx
src/App.tsx
5
Configure a sdkUrl
.env
.env fica fora do controle de versão. A sdkUrl carrega a credencial da verificação no
fragmento, nunca comite um valor real.Confira que funcionou
A primeira tela aparece e ostatus vira pronto. Em desenvolvimento, com <StrictMode> ligado,
o widget aparece uma vez. Se aparecerem dois iframes, confira se o destroy() do cleanup está
sendo chamado.
Boas práticas
Dependa da sdkUrl, não do objeto de opções
O array de dependências do efeito é
[options.sdkUrl]. Assim o widget monta uma vez por sessão e
permanece estável entre renders, mesmo quando o objeto de opções é recriado pelo componente pai.Próximo passo
Next.js
O mesmo hook, com o cuidado extra que o App Router exige.
Opções do mount()
Aparência, idioma, timeout e todos os callbacks.