×

Painéis administrativos são essenciais para diversos tipos de aplicações, permitindo a administração e visualização de dados de forma intuitiva. Neste post, vamos aprender a construir um painel administrativo utilizando React, uma das bibliotecas JavaScript mais populares atualmente.

Configurando o Ambiente de Desenvolvimento

Primeiro, precisaremos configurar nosso ambiente de desenvolvimento para trabalhar com React. Para isso, utilizaremos o Create React App:

npx create-react-app admin-dashboard
cd admin-dashboard

Para um painel administrativo, usaremos algumas bibliotecas adicionais:

  • react-router-dom para a navegação
  • Material-UI para componentes UI
  • axios para requisições HTTP

Instale as dependências:

npm install @mui/material @emotion/react @emotion/styled react-router-dom axios

Estrutura do Projeto

Vamos estruturar nosso projeto para manter o código organizado. Crie as seguintes pastas e arquivos:

src/
|-- components/
|   |-- Sidebar.js
|   |-- Header.js
|   |-- Dashboard.js
|-- pages/
|   |-- Home.js
|   |-- Reports.js
|   |-- Settings.js
|-- App.js
|-- index.js

A Sidebar será responsável pela navegação do painel. Vamos utilizar componentes do Material-UI:

// src/components/Sidebar.js

import React from 'react';
import { Drawer, List, ListItem, ListItemText } from '@mui/material';
import { Link } from 'react-router-dom';

const Sidebar = () => (
  <Drawer variant="permanent">
    <List>
      <ListItem button component={Link} to="/">
        <ListItemText primary="Home" />
      </ListItem>
      <ListItem button component={Link} to="/reports">
        <ListItemText primary="Reports" />
      </ListItem>
      <ListItem button component={Link} to="/settings">
        <ListItemText primary="Settings" />
      </ListItem>
    </List>
  </Drawer>
);

export default Sidebar;

O Header será simples, contendo um título para o painel:

// src/components/Header.js

import React from 'react';
import { AppBar, Toolbar, Typography } from '@mui/material';

const Header = () => (
  <AppBar position="static">
    <Toolbar>
      <Typography variant="h6">Admin Dashboard</Typography>
    </Toolbar>
  </AppBar>
);

export default Header;

Páginas

Vamos criar três páginas simples: Home, Reports e Settings.

// src/pages/Home.js

import React from 'react';

const Home = () => <div>Home Page</div>;

export default Home;
// src/pages/Reports.js

import React from 'react';

const Reports = () => <div>Reports Page</div>;

export default Reports;
// src/pages/Settings.js

import React from 'react';

const Settings = () => <div>Settings Page</div>;

export default Settings;

App Component

No App.js, configuraremos nossas rotas e importaremos os componentes Sidebar e Header:

// src/App.js

import React from 'react';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import Sidebar from './components/Sidebar';
import Header from './components/Header';
import Home from './pages/Home';
import Reports from './pages/Reports';
import Settings from './pages/Settings';
import { CssBaseline } from '@mui/material';

const App = () => (
  <Router>
    <CssBaseline />
    <Header />
    <Sidebar />
    <main style={{ marginLeft: 240, padding: '1rem' }}>
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/reports" element={<Reports />} />
        <Route path="/settings" element={<Settings />} />
      </Routes>
    </main>
  </Router>
);

export default App;

Conclusão

Com os passos acima, configuramos um painel administrativo básico utilizando React. O painel possui navegação entre páginas, uma barra lateral fixa e um cabeçalho. A partir desse ponto, você pode expandir a funcionalidade do painel, adicionando novos componentes e páginas conforme necessário.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Autor

flpchapola@hotmail.com

Posts relacionados

Substituindo ESLint e Prettier: Biome simplifica linting e formatação em um só lugar!

Substituindo ESLint e Prettier: Biome simplifica linting e formatação em um só lugar!

Nos meus novos projetos, tenho substituído o ESLint e Prettier pelo Biome. Um dos grandes destaques do Biome é que ele já...

Leia tudo
10 Dicas de CSS para Melhorar Seus Layouts e se Tornar um Desenvolvedor Melhor

10 Dicas de CSS para Melhorar Seus Layouts e se Tornar um Desenvolvedor Melhor

10 Ferramentas para Melhorar suas Habilidades como Desenvolvedor Se você está buscando formas de se tornar um desenvolvedor mais eficiente e habilidoso,...

Leia tudo
Substituindo ESLint e Prettier pelo Biome: Uma Solução Completa para Linting e Formatação de Código

Substituindo ESLint e Prettier pelo Biome: Uma Solução Completa para Linting e Formatação de Código

Nos meus novos projetos, tenho substituído o ESLint e Prettier pelo Biome. Um dos grandes destaques do Biome é que ele já...

Leia tudo
"10 Classes do Tailwind Que Você Gostaria de Ter Conhecido Antes"

“10 Classes do Tailwind Que Você Gostaria de Ter Conhecido Antes”

O Tailwind CSS é uma estrutura de CSS poderosa e flexível, ideal para projetos de front-end que requerem desenvolvimento rápido e alta...

Leia tudo
Explorando a Arquitetura e Conceitos Fundamentais do React Fiber para Otimização de Performance

Explorando a Arquitetura e Conceitos Fundamentais do React Fiber para Otimização de Performance

React Fiber é uma nova arquitetura introduzida pelo React para gerenciar o processo de renderização de forma mais eficiente. Ele visa melhorar...

Leia tudo
10 Dicas para Se Tornar um Desenvolvedor Melhor e Aumentar Suas Habilidades

10 Dicas para Se Tornar um Desenvolvedor Melhor e Aumentar Suas Habilidades

Em um mercado cada vez mais competitivo, tornar-se um desenvolvedor de alta performance é essencial para garantir relevância e sucesso. A seguir,...

Leia tudo