Aplicação do React com Ruby para um Design System

RMAG news

Quando trabalhamos com aplicações Rails e queremos implementar um Design System utilizando React, seguimos alguns passos para garantir que tudo funcione corretamente e de forma integrada.

1. Verificação das Rotas do Rails:
A primeira coisa a fazer é verificar se a rota que será utilizada já existe ou se precisará ser criada. Isso é importante porque o Design System pode ser aplicado tanto em rotas existentes quanto em novas rotas.

2. Identificação do Controller e Views:
Uma vez identificada a rota, determinamos qual controller e actions estão envolvidos, além da view associada. Isso é fundamental para saber onde o novo componente React será inserido.

3. Criação da Rota no React:
Para renderizar um componente React, precisamos criar uma rota correspondente no lado do frontend. Mantemos o nome da rota consistente com a rota do Rails para evitar confusão. Isso envolve criar um arquivo de componente no diretório app/javascript/componentes. Por exemplo, para uma página de administração, criaríamos app/javascript/componentes/pages/admin/index.jsx.

4. Implementação de Feature Toggles (para sistemas legados):
Em sistemas legados, pode ser interessante habilitar a nova interface apenas para uma parte dos usuários enquanto o restante continua utilizando a versão antiga. Para isso, podemos usar feature toggles, que permitem controlar quem vê o novo componente React.

5. Estrutura Básica do Componente React:
O arquivo index.jsx conterá o código React que define o componente da página. Aqui está um exemplo básico de como pode ser estruturado:

import React from react;
import ReactDOM from react-dom;

const AdminPage = () => {
return (
<div>
<h1>Admin Page</h1>
{/* Adicione mais componentes ou lógica aqui */}
</div>
);
};

document.addEventListener(DOMContentLoaded, () => {
ReactDOM.render(<AdminPage />, document.getElementById(react-root));
});

Neste exemplo, o componente AdminPage é renderizado em um elemento HTML com o id react-root.

6. Integração com Rails:
No lado do Rails, você precisará incluir um elemento HTML com o id apropriado (react-root no exemplo) na view correspondente. Isso permite que o React tome controle daquela parte da página.

<!– app/views/admin/index.html.erb –>
<div id=“react-root”></div>

7. Configuração do Webpacker:
Certifique-se de que o Webpacker está configurado corretamente para compilar seus arquivos JavaScript. O Webpacker é o gem do Rails que facilita a integração de bibliotecas modernas de JavaScript como o React.

Please follow and like us:
Pin Share