AIDE SUR LES NœUDS

toastify npm (Comment cela fonctionne pour les développeurs)

Introduction

Dans le développement web moderne, fournir un retour d'information en temps opportun aux utilisateurs est essentiel pour une expérience utilisateur fluide. Les notifications toast sont un moyen efficace de délivrer des messages sans perturber le flux de travail de l'utilisateur. Le paquet React-toastify est un choix populaire pour implémenter des notifications toast dans les applications React en raison de sa simplicité et de sa flexibilité. Nous examinerons également le package NPM IronPDF pour générer, éditer et gérer des documents PDF. Cet article vous guidera à travers le processus d'intégration de React-toastify et IronPDF dans votre projet React.

Qu'est-ce que Toastify ?

React-toastify est un package NPM qui vous permet d'ajouter des notifications toast personnalisables à vos applications React avec une configuration minimale. Il offre une variété de fonctionnalités, y compris différents types de notifications, une fonctionnalité de fermeture automatique, un style personnalisé, la possibilité de temps restant, et plus encore.

toastify npm (Comment cela fonctionne pour les développeurs) : Figure 1 - Notifications Toast avec différents styles et personnalisations en utilisant le package React-Toastify.

Installation

Pour commencer avec react-toastify, vous devez installer le package via NPM ou Yarn. Exécutez la commande suivante dans le répertoire racine de votre projet :

npm install react-toastify
npm install react-toastify
SHELL

ou

yarn add react-toastify
yarn add react-toastify
SHELL

Utilisation de base

Après avoir installé le paquet, vous pouvez commencer à utiliser react-toastify dans votre application React. Voici un exemple de code simple pour démontrer comment intégrer et utiliser react-toastify.

1. Importer les composants Toastify

Tout d'abord, vous devez importer les composants nécessaires de react-toastify :

import React from 'react';
import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
js
JAVASCRIPT

2. Configurer Toastify

Ensuite, ajoutez le composant ToastContainer à votre application.

function App() {
  return (
    <div>  // react component rendered inside
      <ToastContainer />
    </div>
  );
}
js
JAVASCRIPT

3. Déclencher des notifications Toast

Vous pouvez déclencher une notification toast en utilisant la fonction toast. Voici un exemple de code pour afficher un message de réussite :

function notify() {
  toast.success("Success! This is a success message.", {
    position: toast.POSITION.TOP_RIGHT
  });
}
function App() {
  return (
    <div>
      <button onClick={notify}>Show Toast</button>
      <ToastContainer /> // react component inside
    </div>
  );
}
js
JAVASCRIPT

Fonctionnalités avancées

OnOpen et OnClose hooks

React-toastify offre diverses fonctionnalités avancées qui vous permettent de personnaliser le comportement et l'apparence de vos toasts en utilisant les hooks onOpen et onClose.

import React from 'react';
import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
function App() {
  const notify = () => {
    toast("Hello there", {
      onOpen: () => window.alert('Called when I open'),
      onClose: () => window.alert('Called when I close')
    });
  };
  return (
    <div>
      <button onClick={notify}>Notify</button>
      <ToastContainer />
    </div>
  );
}
export default App;
js
JAVASCRIPT

Dans cet exemple :

  • Lorsque le toast s'ouvre, le crochet onOpen se déclenche et nous affichons une alerte.
  • Lorsque le toast se ferme, le hook onClose se déclenche et une autre alerte est affichée.

Positions personnalisées

Vous pouvez afficher des notifications toast à différentes positions sur l'écran en utilisant l'option de position.

toast.info("Information message", {
  position:"top-right"
});
js
JAVASCRIPT

Durée de fermeture automatique

Vous pouvez définir la durée pendant laquelle un toast est affiché en utilisant l'option autoClose :

toast.warn("Warning message", {
  autoClose: 5000 // Auto close after 5 seconds
});
js
JAVASCRIPT

Style personnalisé

Une personnalisation de style peut être appliquée aux toasts en utilisant les options className et style :

toast.error("Error message", {
  className: 'custom-toast',
  style: { background: 'red', color: 'white' }
});
js
JAVASCRIPT

Rejet des toasts

Les notifications toast peuvent être supprimées par programmation en utilisant la méthode toast.dismiss :

const toastId = toast("This toast can be dismissed");
function dismissToast() {
  toast.dismiss(toastId);
}
js
JAVASCRIPT

Voici un exemple complet démontrant l'utilisation de diverses fonctionnalités de react-toastify :

import React from 'react';
import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
function App() {
  const notify = () => {
    toast.success("Success! This is a success message.", {
      position:"top-right"  // success notification
    });
    toast.info("Information message", {
      position:"bottom-left"  // info will be displayed with progress bar
    });
    toast.warn("Warning message", {
      autoClose: 5000 // close or pause toast messages
    });
    toast.error("Error message", {
      className: 'custom-toast',
      style: { background: 'red', color: 'white' }
    });
  };
  return (
    <div>
      <button onClick={notify}>Show Toasts</button>
      <ToastContainer />
    </div>
  );
}
export default App;
js
JAVASCRIPT

SORTIE

toastify npm (Comment ça fonctionne pour les développeurs) : Figure 2 - Application React-Toastify fonctionnant sur localhost port:3000 et affichant des notifications toast pour les messages de Succès, Avertissement et Erreur.

Présentation d'IronPDF

IronPDF est une bibliothèque PDF C# puissante qui permet aux développeurs de générer et d'éditer des PDFs dans leurs projets .NET. Que vous ayez besoin de créer des PDF à partir de HTML, de manipuler des PDF existants ou de convertir des pages Web au format PDF, IronPDF est là pour vous.

toastify npm (Comment cela fonctionne pour les développeurs) : Figure 3 - IronPDF for Node.js : La bibliothèque PDF Node.js

Voici quelques caractéristiques et cas d'utilisation clés :

1. Conversion de HTML en PDF

IronPDF peut convertir des pages HTML, qu'elles proviennent d'une URL, d'un fichier HTML ou d'une chaîne HTML, en PDF. Vous pouvez également convertir des fichiers HTML locaux ou des chaînes HTML en PDF.

2. Prise en charge multiplateforme

IronPDF fonctionne parfaitement sur différentes plateformes, y compris :

  • .NET Core (8, 7, 6, 5 et 3.1+)
  • .NET Standard (2.0+)
  • .NET Framework (4.6.2+)
  • Web (Blazor & WebForms)
  • Bureau (WPF & MAUI)
  • Console (application et bibliothèque)
  • Environnements Windows, Linux et macOS.

3. Édition et manipulation de PDFs

IronPDF vous permet de :

4. Personnalisation et Mise en Forme

Vous pouvez appliquer des modèles de page, des en-têtes, des pieds de page, des numéros de page et des marges personnalisées. IronPDF prend en charge l'encodage de caractères UTF-8, les URL de base, l'encodage des ressources, et plus encore.

5. Conformité aux Normes

IronPDF est conforme à diverses normes PDF, y compris les versions PDF (1.2 - 1.7), PDF/UA (PDF/UA-1) et PDF/A (PDF/A-3b).

Générer un document PDF en utilisant IronPDF et le package NPM Toastify

Installer les dépendances : Tout d'abord, créez un nouveau projet Next.js (si vous ne l'avez pas encore fait) en utilisant la commande suivante : Veuillez vous référer à la page de configuration.

npx create-next-app@latest my-pdf-app --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
npx create-next-app@latest my-pdf-app --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
SHELL

Ensuite, accédez au répertoire de votre projet :

cd my-pdf-app
cd my-pdf-app
SHELL

Installez les paquets nécessaires :

npm install @ironsoftware/ironpdf
npm install react-toastify
npm install @ironsoftware/ironpdf
npm install react-toastify
SHELL

Créer un PDF : Maintenant, créons un exemple simple de génération d'un PDF en utilisant IronPDF. Dans votre composant Next.js (par exemple, pages/index.tsx), ajoutez le code suivant :

import Head from 'next/head';
import styles from '../styles/Home.module.css';
import {ToastContainer, toast} from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
import {useState} from "react";
export default function Home() {
    const [textInput, setTextInput] = useState('');
    const notify = () => {
        toast.success("Success! This is a success message.", {
            position: "top-right"
        });
        toast.info("Information message", {
            position: "bottom-left"
        });
        toast.warn("Warning message", {
            autoClose: 5000
        });
        toast.error("Error message", {
            className: 'custom-toast',
            style: {background: 'red', color: 'white'}
        });
    };
    const generatePdf = async () => {
        try {
            const response = await fetch('/api/pdf?url='+textInput);
            const blob = await response.blob();
            const url = window.URL.createObjectURL(new Blob([blob]));
            const link = document.createElement('a');
            link.href = url;
            link.setAttribute('download', 'example.pdf');
            document.body.appendChild(link);
            link.click();
            link.parentNode.removeChild(link);
        } catch (error) {
            console.error('Error generating PDF:', error);
        }
    };
    const handleChange = (event) => {
        setTextInput(event.target.value);
    }
    return (
        <div className={styles.container}>
            <Head>
                <title>Demo Toaster and Generate PDF From IronPDF</title>
                <link rel="icon" href="/favicon.ico"/>
            </Head>
            <main>
                <h1>Demo Toaster and Generate PDF From IronPDF</h1>
                <button style={{margin:20, padding:5}} onClick={notify}>Show Toasts</button>
                <p>
                    <span>Enter Url To Convert to PDF:</span>{" "}
                </p>
                <button style={{margin:20, padding:5}} onClick={generatePdf}>Generate PDF</button>
                <ToastContainer/>
            </main>          
            <style jsx>{`
                main {
                    padding: 5rem 0;
                    flex: 1;
                    display: flex;
                    flex-direction: column;
                    justify-content: center;
                    align-items: center;
                }
                footer {
                    width: 100%;
                    height: 100px;
                    border-top: 1px solid #eaeaea;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                }
                footer img {
                    margin-left: 0.5rem;
                }
                footer a {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    text-decoration: none;
                    color: inherit;
                }
                code {
                    background: #fafafa;
                    border-radius: 5px;
                    padding: 0.75rem;
                    font-size: 1.1rem;
                    font-family: Menlo,
                    Monaco,
                    Lucida Console,
                    Liberation Mono,
                    DejaVu Sans Mono,
                    Bitstream Vera Sans Mono,
                    Courier New,
                    monospace;
                }
            `}</style>
            <style jsx global>{`
                html,
                body {
                    padding: 0;
                    margin: 0;
                    font-family: -apple-system,
                    BlinkMacSystemFont,
                    Segoe UI,
                    Roboto,
                    Oxygen,
                    Ubuntu,
                    Cantarell,
                    Fira Sans,
                    Droid Sans,
                    Helvetica Neue,
                    sans-serif;
                }
                * {
                    box-sizing: border-box;
                }
            `}</style>
        </div>
    );
}
js
JAVASCRIPT

Puisque IronPDF fonctionne uniquement sur Node.js, ajoutez ensuite une API pour l'application où le PDF est généré en utilisant Node.js

Créez un fichier pdf.js dans le dossier pages/api et ajoutez le code ci-dessous.

// pages/api/pdf.js
import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
export default async function handler(req, res) {
    try {
        const url = req.query.url
        const pdf = await PdfDocument.fromUrl(url);
        const data = await pdf.saveAsBuffer();
        console.error('data PDF:', data);
        res.setHeader('Content-Type', 'application/pdf');
        res.setHeader('Content-Disposition', 'attachment; filename=awesomeIron.pdf');
        res.send(data);
    } catch (error) {
        console.error('Error generating PDF:', error);
        res.status(500).end();
    }
}
js
JAVASCRIPT

Remarque : Dans le code ci-dessus, ajoutez votre propre clé de licence

Exécutez votre application : Démarrez votre application Next.js :

npm run dev
or
yarn dev
npm run dev
or
yarn dev
SHELL

SORTIE

Ouvrez votre navigateur et accédez à http://localhost:3000 pour voir le site Web ci-dessous.

toastify npm (Comment ça fonctionne pour les développeurs) : Figure 4 - Application React-Toastify s'exécutant sur localhost port:3000 et affichant un bouton "Afficher les toasts", ainsi qu'un champ de texte pour "Entrer l'URL à convertir en PDF" et un bouton "Générer PDF".

Maintenant, cliquez sur le bouton "Afficher les toasts" pour voir les messages de toast.

![toastify npm (Comment ça fonctionne pour les développeurs) : Figure 5 - Après avoir cliqué sur le bouton Afficher les toasts, l'application affiche des notifications toast pour les messages de réussite, d'avertissement et d'erreur. De plus, vous pouvez utiliser le champ de texte pour entrer l'URL de la page web que vous souhaitez convertir en document PDF et cliquer sur le bouton "Générer PDF". Cela convertira la page Web spécifiée en PDF à l'aide d'IronPDF.

Entrez maintenant l'URL du site web pour générer le PDF et cliquez sur générer le PDF. Un fichier nommé awesomeIron.pdf comme ci-dessous sera téléchargé.

toastify npm (Comment cela fonctionne pour les développeurs) : Figure 6 - PDF de sortie généré en convertissant l'URL spécifiée en PDF à l'aide de IronPDF

Licence d'IronPDF

Page IronPDF.

Placez la clé de licence dans l'application comme indiqué ci-dessous :

import {IronPdfGlobalConfig, PdfDocument} from "@ironsoftware/ironpdf";
// Apply your IronPDF license key
IronPdfGlobalConfig.getConfig().licenseKey = "Add Your key here";
js
JAVASCRIPT

Conclusion

React-toastify est une bibliothèque puissante et facile à utiliser pour ajouter des notifications toast à vos applications React. Avec sa large gamme de fonctionnalités et d'options de personnalisation, vous pouvez améliorer l'expérience utilisateur en fournissant des retours en temps réel de manière très simple et non intrusive. D'autre part, IronPDF est de loin la bibliothèque d'entreprise la plus polyvalente, avec un support pour générer, éditer et gérer des documents PDF. En suivant les étapes décrites dans cet article, vous pouvez rapidement intégrer React-toastify et IronPDF dans votre projet et commencer à exploiter ses capacités.

Pour plus d'informations sur le démarrage avec IronPDF, veuillez vous référer à leur page de documentation et aux exemples de code.

Darrius Serrant
Ingénieur Logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'une licence en informatique de l'Université de Miami et travaille en tant qu'ingénieur marketing Full Stack WebOps chez Iron Software. Attiré par le code depuis son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le support parfait pour la créativité et la résolution de problèmes.

Chez Iron Software, Darrius apprécie de créer de nouvelles choses et de simplifier des concepts complexes pour les rendre plus compréhensibles. En tant que l'un de nos développeurs résidents, il a également fait du bénévolat pour enseigner aux étudiants, partageant son expertise avec la prochaine génération.

Pour Darrius, son travail est épanouissant car il est apprécié et a un réel impact.

< PRÉCÉDENT
répliquer npm (Comment ça fonctionne pour les développeurs)
SUIVANT >
Socket io node.js (Comment ça fonctionne pour les développeurs)