Introdução
Uma rápida introdução ao Electron Router DOM
Se você já tentou usar a biblioteca react-router-dom
com Electron
,
provavelmente enfrentou dificuldades para fazê-lo funcionar corretamente,
tanto em ambiente de desenvolvimento quanto em produção.
A partir disso, nasceu a biblioteca Electron Router DOM
,
que visa facilitar a integração do react-router-dom
com o Electron
e o roteamento por janelas,
onde cada janela pode ter seu próprio roteamento.
Características
- 🚀 Pronto para ambientes de produção e desenvolvimento
- 📱 Suporte a roteamento por janelas
- 🌐 Suporte a
query strings
enviados do processo principal para o renderizador - 🧬 API com tipagem segura e pensada para trazer uma boa DX
Instalação
No seu terminal e na pasta raiz da sua aplicação, execute:
Criando o seu primeiro roteamento
Crie o arquivo electron-router-dom.ts
Na pasta src
do seu projeto, crie uma pasta lib
e dentro dela o arquivo electron-router-dom.ts
(ou .js
).
É, através desse arquivo que você irá expor o método registerRoute
e o componente Router
para a sua aplicação.
- O método registerRoute será usada no
main process
para registrar uma janela como uma rota da aplicação. - O componente Router será usado no
renderer process
para navegar entre as janelas/rotas da aplicação.
Atualize o processo principal
Importe o método registerRoute
do arquivo electron-router-dom.ts
que você criou anteriormente:
E na função em que você cria a janela da sua aplicação, após a criação, registre a rota passando a sua janela para o registerRoute
:
Note que você não precisa mais se preocupar com a lógica de carregar a URL do servidor de desenvolvimento ou o arquivo HTML da aplicação, o Electron Router DOM
cuidará disso para você.
Atualize o processo de renderização
Importe o componente Router
do arquivo electron-router-dom.ts
que você criou anteriormente:
E com isso você precisará passar suas rotas para o componente Router
, veja um exemplo:
🎉 Agora você está pronto para usar o Electron Router DOM
Para extrair o potencial máximo da biblioteca, recomendamos que você leia o restante da documentação ou veja os exemplos existentes!