OPERAZIONI CRUD CON REACT E MONGODB

image

Introduzione

Le operazioni CRUD (Create, Read, Update, Delete) sono fondamentali nella realizzazione di applicazioni web moderne. In questo articolo, ti mostreremo come implementare queste operazioni in un'applicazione React, utilizzando MongoDB come sistema di gestione del database. Attraverso questo tutorial, potrai imparare le basi per sviluppare app più dinamiche, interattive e reattive.

Tecnologie Utilizzate:

  • MongoDB: Un database NoSQL orientato ai documenti.
  • Express: Un framework per applicazioni web Node.js, essenziale per creare API.
  • React: Una libreria JavaScript per costruire interfacce utente.
  • Node.js: Un runtime JavaScript lato server.
  1. Setup del Progetto:

    Prima di tutto, crea un nuovo progetto React e inizializza un nuovo progetto Node.js.

    1 2 3 4 npx create-react-app crud-app cd crud-app npm init -y
  2. Installazione delle Dipendenze:

    Installiamo le dipendenze necessarie.

    1 2 npm install express mongoose cors
  3. Configurazione del Server:

    Crea un file server.js nella radice del tuo progetto e configura il tuo server Express e MongoDB.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 const express = require('express'); const mongoose = require('mongoose'); const cors = require('cors'); const app = express(); app.use(cors()); app.use(express.json()); mongoose.connect('mongodb://localhost:27017/crudDB', { useNewUrlParser: true, useUnifiedTopology: true }); app.listen(3001, () => { console.log('Server is running on port 3001'); });



  4. Creazione del Modello:

    Definisci un modello Mongoose per interagire con il database MongoDB.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 const Schema = mongoose.Schema; const ItemSchema = new Schema({ name: String }); const Item = mongoose.model('Item', ItemSchema); app.get('/items', async (req, res) => { const items = await Item.find(); res.json(items); }); // Aggiungi qui i tuoi endpoint per Create, Update e Delete.
  5. Costruzione del Componente React:

    Ora, creiamo un componente React che interfaccia con il nostro server.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 import React, { useEffect, useState } from 'react'; import axios from 'axios'; function App() { const [items, setItems] = useState([]); useEffect(() => { const fetchItems = async () => { const res = await axios.get('http://localhost:3001/items'); setItems(res.data); }; fetchItems(); }, []); return ( <div> {items.map(item => ( <div key={item._id}>{item.name}</div> ))} </div> ); } export default App;

A questo punto, hai un'applicazione React che può leggere dati da un database MongoDB attraverso un server Express. Dovresti estendere il tuo server e componente React per supportare le operazioni di creazione, aggiornamento e cancellazione.

Implementare operazioni CRUD complete:

Per implementare completamente le operazioni CRUD, dovrai aggiungere ulteriori endpoint al tuo server Express e metodi al tuo componente React. Ricorda di gestire adeguatamente gli stati e di aggiornare l'interfaccia utente in modo reattivo ogni volta che il database viene aggiornato.

Se hai bisogno di aiuto per il tuo progetto non esitare a contattarci. Avrai una squadra di esperti pronta a darti una mano. Buon coding.