Exercices

LocalStorage Weather Api ToDo et LocalStorage

React+ionic

Ionic Create project 4.React Outils utiles 5.Lifecycle Methods 6.JSX

Gestion Ventes

Produit CRUD

6.Form :Ajouter un produit 8.Liste produits 9.Pagination 10.Liste produits +Pagination 11.Liste produits +Datatable 11.Liste produits +load more 12.Supprimer un produit 14.Details d'un produit 15.Recherche et Autocomplete

Reacts:Utils

Gestion des erreurs Variables d'environment Cookies Internationalization proptypes Form validation React Animation Fragment Google Maps

Utilisateur CRUD

18.Inscription upload file 19.Connexion et Les sessions 19.Connexion: JWT Token

Ventes CRUD

17.Vendre un produit 18.Facture Generate PDF 19.Statisques Charts

Redux





Gestion des livres

Gestion des livres : Créer une application permettant de gérer une bibliothèque avec la possibilité d'ajouter de nouveaux livres avec leur titre, auteur, date de publication, etc
import React, { useState } from "react";

const BookManagement = () => {
  const [books, setBooks] = useState([]);
  const [formData, setFormData] = useState({ title: "", author: "", publicationDate: "" });

  const handleChange = (e) => {
    setFormData({ ...formData, [e.target.name]: e.target.value });
  };

  const handleSubmit = (e) => {
    e.preventDefault();
    if (formData.title.trim() !== "" && formData.author.trim() !== "" && formData.publicationDate.trim() !== "") {
      setBooks([...books, { id: Date.now(), ...formData }]);
      setFormData({ title: "", author: "", publicationDate: "" });
    }
  };

  const handleDelete = (id) => {
    const updatedBooks = books.filter(book => book.id !== id);
    setBooks(updatedBooks);
  };

  return (
    <div>
      <h1>Book Management</h1>
      <form onSubmit={handleSubmit}>
        <label>
          Title:
          <input type="text" name="title" value={formData.title} onChange={handleChange} />
        </label>
        <label>
          Author:
          <input type="text" name="author" value={formData.author} onChange={handleChange} />
        </label>
        <label>
          Publication Date:
          <input type="text" name="publicationDate" value={formData.publicationDate} onChange={handleChange} />
        </label>
        <button type="submit">Add Book</button>
      </form>
      <div>
        <h2>Books</h2>
        <ul>
          {books.map(book => (
            <li key={book.id}>
              <div>Title: {book.title}</div>
              <div>Author: {book.author}</div>
              <div>Publication Date: {book.publicationDate}</div>
              <button onClick={() => handleDelete(book.id)}>Delete</button>
            </li>
          ))}
        </ul>
      </div>
    </div>
  );
};

export default BookManagement;