HILFE ZUM KNOTENPUNKT

toastify npm (Wie es für Entwickler funktioniert)

Veröffentlicht 29. September 2024
Teilen Sie:

Einführung

In der modernen Webentwicklung ist die Bereitstellung von zeitnahem Feedback an Benutzer entscheidend für ein nahtloses Benutzererlebnis. Toast-Benachrichtigungen sind eine effektive Möglichkeit, Nachrichten zu übermitteln, ohne den Arbeitsablauf des Benutzers zu unterbrechen. DieReact-toastifyPaket ist eine beliebte Wahl für die Implementierung von Toast-Benachrichtigungen in React-Anwendungen aufgrund seiner Einfachheit und Flexibilität. Wir werden uns auch damit befassenIronPDFNPM-Paket zum Erstellen, Bearbeiten und Verwalten von PDF-Dokumenten. Dieser Artikel wird Sie durch den Prozess der Integration führenReact-toastify undIronPDFin Ihr React-Projekt.

Was ist Toastify?

React-toastifyist ein NPM-Paket, das es ermöglicht, anpassbare Toast-Benachrichtigungen zu Ihren React-Anwendungen hinzuzufügen, mit minimalem Einrichtungsaufwand. Es bietet eine Vielzahl von Funktionen, darunter verschiedene Benachrichtigungstypen, automatische Schließfunktion, benutzerdefinierte Gestaltung, verbleibende Zeitmöglichkeit und mehr.

toastify npm(Wie es für Entwickler funktioniert): Abbildung 1 - Toast-Benachrichtigungen mit verschiedenen Stilen und Anpassungen mithilfe des React-Toastify-Pakets.

Einrichtung

Für den Einstieg in diereact-toastify, müssen Sie das Paket über NPM oder Yarn installieren. Führen Sie den folgenden Befehl im Stammverzeichnis Ihres Projekts aus:

npm install react-toastify

oder

yarn add react-toastify

Grundlegende Verwendung

Nach der Installation des Pakets können Sie react-toastify in Ihrer React-Anwendung verwenden. Nachfolgend ein einfaches Codebeispiel, das zeigt, wie man react-toastify integrieren und verwenden kann.

1. Toastify-Komponenten importieren

Zuerst müssen Sie die erforderlichen Komponenten aus react-toastify importieren:

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

2. Toastify konfigurieren

Fügen Sie als Nächstes die ToastContainer-Komponente zu Ihrer Anwendung hinzu.

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

3. Toast-Benachrichtigungen auslösen

Sie können eine Toast-Benachrichtigung mit der Toast-Funktion auslösen. Hier ist ein Codebeispiel, wie eine Erfolgsmeldung angezeigt wird:

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>
  );
}
JAVASCRIPT

Erweiterte Funktionen

OnOpen- und OnClose-Hooks

React-toastify bietet verschiedene fortschrittliche Funktionen, mit denen Sie das Verhalten und das Erscheinungsbild Ihrer Toasts mithilfe von onOpen- und onClose-Hooks anpassen können.

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;
JAVASCRIPT

In diesem Beispiel:

  • Wenn das Toast geöffnet wird, löst der onOpen-Hook aus, und wir zeigen einen Alarm an.
  • Wenn das Toast geschlossen wird, wird der onClose-Hook ausgelöst und ein weiterer Alarm angezeigt.

Benutzerdefinierte Positionen

Sie können Toasts in verschiedenen Positionen auf dem Bildschirm anzeigen, indem Sie die Positionsoption verwenden:

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

Automatische Schließdauer

Sie können die Dauer, für die ein Toast angezeigt wird, mit der autoClose-Option festlegen:

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

Benutzerdefinierte Gestaltung

Benutzerdefiniertes Styling kann auf Toasts angewendet werden, indem die className- und Stiloptionen verwendet werden:

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

Toasts schließen

Toasts können programmgesteuert mit der Methode toast.dismiss geschlossen werden:

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

Hier ist ein vollständiges Beispiel, das die Verwendung verschiedener Funktionen von react-toastify demonstriert:

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;
JAVASCRIPT

AUSGABE

toastify npm(Wie es für Entwickler funktioniert): Abbildung 2 - React-Toastify-Anwendung, die auf localhost port:3000 läuft und Toast-Benachrichtigungen für Erfolgs-, Warn- und Fehlermeldungen anzeigt.

Einführung in IronPDF

IronPDFist eine leistungsstarke C#-PDF-Bibliothek, die es Entwicklern ermöglicht, PDFs in ihren .NET-Projekten zu erstellen und zu bearbeiten. Egal, ob Sie PDFs aus HTML erstellen, bestehende PDFs bearbeiten oder Webseiten in das PDF-Format konvertieren müssen, IronPDF ist für Sie da.

toastify npm(Wie es für Entwickler funktioniert): Abbildung 3 - IronPDF for Node.js: Die Node.js PDF-Bibliothek

Hier sind einige wichtige Funktionen und Anwendungsfälle:

1. Konvertierung von HTML in PDF

IronPDF kann HTML-Seiten, sei es von einer URL, einer HTML-Datei oder einem HTML-String, in PDF umwandeln. Sie können auch lokale HTML-Dateien oder HTML-Strings in PDFs konvertieren.

2. Plattformübergreifende Unterstützung

IronPDF funktioniert nahtlos auf verschiedenen Plattformen, einschließlich:

  • .NET Core(8, 7, 6, 5 und 3.1+)
  • .NET-Standard(2.0+)
  • .NET-Framework(4.6.2+)
  • Web(Blazor und WebForms)
  • Schreibtisch(WPF UND MAUI)
  • Konsole(App & Bibliothek)
  • Windows-, Linux- und macOS-Umgebungen.

3. Bearbeiten und Manipulieren von PDFs

IronPDF ermöglicht Ihnen:

4. Anpassung und Formatierung

Sie können Seitenvorlagen, Kopfzeilen, Fußzeilen, Seitenzahlen und benutzerdefinierte Ränder anwenden. IronPDF unterstützt UTF-8-Zeichenkodierung, Basis-URLs, Asset-Kodierung und mehr.

5. Einhaltung von Standards

IronPDF hält sich an verschiedene PDF-Standards, einschließlich PDF-Versionen.(1.2 - 1.7), PDF/UA(PDF/UA-1), und PDF/A(PDF/A-3b).

PDF-Dokument mit IronPDF und Toastify NPM-Paket erzeugen

Abhängigkeiten installieren: Erstellen Sie zunächst ein neues Next.js-Projekt(falls Sie es noch nicht getan haben)unter Verwendung des folgenden Befehls: Bitte beziehen Sie sich auf dieEinrichtung seite.

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

Navigieren Sie dann zu Ihrem Projektverzeichnis:

cd my-pdf-app

Installieren Sie die erforderlichen Pakete:

npm install @ironsoftware/ironpdf
npm install react-toastify

Erstellen Sie ein PDF: Lassen Sie uns nun ein einfaches Beispiel für die Erstellung eines PDFs mitIronPDF. In Ihrer Next.js-Komponente(z.B. Seiten/index.tsx)fügen Sie den folgenden Code hinzu:

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>
    );
}
JAVASCRIPT

Da IronPDF nur auf Node.js läuft, fügen Sie als Nächstes eine API für die App hinzu, bei der PDFs mit Node.js erstellt werden.

Erstellen Sie eine Datei namens pdf.js im Ordner pages/api und fügen Sie den untenstehenden Code hinzu.

// 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();
    }
}
JAVASCRIPT

Hinweis: Fügen Sie im obigen Code Ihren eigenen Lizenzschlüssel hinzu.

Führen Sie Ihre App aus: Starten Sie Ihre Next.js-App:

npm run dev
or
yarn dev

AUSGABE

Öffnen Sie Ihren Browser und navigieren Sie zu http://localhost:3000, um die untenstehende Website zu sehen.

toastify npm(Wie es für Entwickler funktioniert): Abbildung 4 - React-Toastify-Anwendung läuft auf localhost Port:3000 und zeigt eine Schaltfläche Show Toasts zusammen mit einem Textfeld für Enter URL To Convert to PDF und einer Generate PDF Schaltfläche an.

Klicken Sie jetzt auf die Schaltfläche "Show Toasts", um Toast-Nachrichten anzuzeigen.

toastify npm(Wie es für Entwickler funktioniert)Abbildung 5 - Nach dem Klicken auf die Schaltfläche Toasts anzeigen zeigt die Anwendung Toast-Benachrichtigungen für Erfolg-, Warn- und Fehlermeldungen an. Außerdem können Sie das Textfeld verwenden, um die URL der Webseite einzugeben, die Sie in ein PDF-Dokument umwandeln möchten, und auf die Schaltfläche „PDF generieren“ klicken. Dies wird die angegebene Webseite mit IronPDF in eine PDF-Datei umwandeln.

Geben Sie jetzt die Website-URL ein, um das PDF zu erstellen, und klicken Sie auf PDF erstellen. Eine Datei mit dem Namen awesomeIron.pdf wird wie unten heruntergeladen.

toastify npm(Wie es für Entwickler funktioniert): Abbildung 6 - Ausgabedokument als PDF, erzeugt durch die Umwandlung der angegebenen URL in PDF mit IronPDF

IronPDF-Lizenz

IronPDF seite.

Platzieren Sie den Lizenzschlüssel in der App wie unten gezeigt:

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

Schlussfolgerung

React-toastifyist eine leistungsstarke und benutzerfreundliche Bibliothek zum Hinzufügen von Toast-Benachrichtigungen zu Ihren React-Anwendungen. Mit seiner breiten Palette an Funktionen und Anpassungsoptionen können Sie das Benutzererlebnis verbessern, indem Sie in einer äußerst einfachen und unaufdringlichen Weise Echtzeit-Feedback bereitstellen. AndererseitsIronPDFist bei weitem die vielseitigste Unternehmensbibliothek mit Unterstützung für das Erstellen, Bearbeiten und Verwalten von PDF-Dokumenten. Indem Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie schnell integrierenReact-toastify undIronPDFin Ihr Projekt einfügen und seine Fähigkeiten nutzen.

Für weitere Informationen zum Einstieg in IronPDF wenden Sie sich bitte an ihre Dokumentation seite undCodebeispiele.

< PREVIOUS
npm replizieren (Wie es für Entwickler funktioniert)
NÄCHSTES >
Socket io node.js (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.12 gerade veröffentlicht

Kostenlose npm-Installation Lizenzen anzeigen >