WMP Sites

React Bootstrap Tabs: So erstellen Sie benutzerfreundliche Registerkarten-Schnittstellen

Lukas Fuchs vor 2 Jahren Frameworks & Libraries 3 Min. Lesezeit

Installation und Konfiguration von React Bootstrap Tabs

Um React Bootstrap Tabs in deinem React-Projekt zu verwenden, musst du zunächst die folgenden Schritte ausführen:

Installation

1. Installiere React Bootstrap:

npm install react-bootstrap bootstrap

oder

yarn add react-bootstrap bootstrap

2. Importiere die Tabs-Komponente:

import { Tabs } from "react-bootstrap";

Konfiguration

1. Erstelle eine Tab-Instanz:

const tabs = <Tabs defaultActiveKey="home">...</Tabs>;

Ersetze "home" durch den Schlüssel des Tabs, der beim ersten Rendern aktiv sein soll.

2. Füge Tab-Elemente hinzu:

Innerhalb der <Tabs>-Komponente kannst du <Tab>-Elemente hinzufügen, um einzelne Tabs darzustellen.

<Tabs>
  <Tab eventKey="home" title="Home">...</Tab>
  <Tab eventKey="profile" title="Profil">...</Tab>
  <Tab eventKey="about" title="Info">...</Tab>
</Tabs>

3. Füge Inhalte für die Tabs hinzu:

Verwende <Tab.Content>-Elemente, um Inhalte für jeden Tab zu definieren.

<Tabs>
  <Tab eventKey="home" title="Home">
    <Tab.Content>Homepage-Inhalt</Tab.Content>
  </Tab>
  <Tab eventKey="profile" title="Profil">
    <Tab.Content>Profilinhalt</Tab.Content>
  </Tab>
  <Tab eventKey="about" title="Info">
    <Tab.Content>Infoseite-Inhalt</Tab.Content>
  </Tab>
</Tabs>

4. Anpassen des Aussehens:

Du kannst die CSS-Klassen nav-tabs und tab-pane verwenden, um das Aussehen der Registerkarten anzupassen.

Grundlegendes zu Tabs und deren Verwendung

Tabs sind ein wesentliches Element für die Erstellung benutzerfreundlicher und intuitiver Benutzeroberflächen. Sie ermöglichen es dir, große Datenmengen in kleineren, überschaubareren Blöcken zu organisieren, wodurch die Navigation und Interaktion für Benutzer erheblich vereinfacht wird.

Was sind Tabs?

Tabs sind eine Sammlung beschrifteter Schaltflächen, die verschiedene Bereiche einer Webseite oder Anwendung darstellen. Wenn ein Benutzer auf einen Tab klickt, wird der entsprechende Inhaltsbereich angezeigt, während die anderen Tabs ausgeblendet werden. Auf diese Weise kannst du mehrere Inhaltstypen auf einer einzigen Seite präsentieren, ohne dass die Benutzeroberfläche überladen wird.

Verwendung von Tabs

Tabs sind vielseitig einsetzbar und können für verschiedene Zwecke verwendet werden, darunter:

  • Organisieren von umfangreichen Inhalten: Teile lange Texte, Tabellen oder Formulare in kleinere, überschaubare Abschnitte auf.
  • Gruppieren ähnlicher Daten: Präsentiere verschiedene Kategorien oder Datentypen wie Produkte, Nachrichten oder Benutzerprofile in einzelnen Tabs.
  • Bereitstellen von Optionen und Einstellungen: Biete Benutzern verschiedene Anpassungsmöglichkeiten oder Konfigurationseinstellungen in separaten Tabs.
  • Erstellen von Navigationsleisten: Ersetze Dropdown-Menüs oder Schaltflächen durch Tabs, um die Navigation innerhalb einer Anwendung zu vereinfachen.

Arten von Tabs

Es gibt verschiedene Arten von Tabs, die du je nach deinen Anforderungen verwenden kannst:

  • Horizontale Tabs: Dies sind die gängigste Art von Tabs, die horizontal am oberen oder unteren Rand der Seite angeordnet sind.
  • Vertikale Tabs: Sie werden vertikal an den Seiten der Seite angeordnet und sind nützlich, um Platz zu sparen oder für lange Inhaltslisten.
  • Pillen-Tabs: Diese Tabs haben eine abgerundete Form und sind weniger formell als herkömmliche Tabs.
  • Rahmenlose Tabs: Sie haben keine Umrandung und schaffen ein modernes und minimalistisches Erscheinungsbild.

Anpassen des Aussehens und der Funktionsweise von Tabs

Du kannst das Aussehen und Verhalten deiner React Bootstrap Tabs ganz einfach anpassen, um sie den Bedürfnissen deiner Anwendung anzupassen.

Anpassen des Stils

Bootstrap bietet eine Reihe von CSS-Klassen, mit denen du die folgenden Aspekte deiner Tabs anpassen kannst:

  • Tab-Inhalt: Mit den Klassen bg-primary, bg-secondary und anderen kannst du Hintergrundfarben festlegen.
  • Tab-Überschrift: Verwende Klassen wie text-primary oder font-weight-bold zur Anpassung von Textfarbe und Schriftstärke.
  • Tab-Rahmen: Füge Rahmen mit Klassen wie border-bottom oder border-left hinzu.

Anpassen des Verhaltens

Neben dem Stil kannst du auch das Verhalten deiner Tabs anpassen:

Steuerelemente zum Schließen von Tabs

  • Aktiviere die Möglichkeit, Tabs zu schließen, indem du das Prop closable auf true setzt.
  • Verwende das Prop onTabClose zum Ausführen von Aktionen beim Schließen von Tabs.

Deaktivieren von Tabs

  • Deaktiviere Tabs mit dem Prop disabled.
  • Deaktivierte Tabs sind ausgegraut und nicht anklickbar.

Steuern des aktiven Tabs

  • Verwende das Prop activeKey zum Auswählen des anfangs aktiven Tabs.
  • Du kannst den aktiven Tab auch programmatisch mit dem Prop onSelect ändern.

Verschachtelte Tabs

  • Erstelle verschachtelte Tabs, indem du die Komponente Tab.Container verwendest.
  • Dies ermöglicht es dir, komplexe Hierarchien von Tabs zu erstellen.

Tipps für die Anpassung

  • Verwende benutzerdefinierte CSS-Klassen, um einheitliche Designs zu gewährleisten.
  • Passe die Tab-Navigationsoptionen an, um eine einfache und intuitive Interaktion zu ermöglichen.
  • Ziehe in Erwägung, benutzerdefinierte Komponenten zu erstellen, um die Tabs noch weiter anzupassen.

Navigation zwischen Tabs mit Links und Tastaturereignissen

Um die Navigation zwischen Tabs zu ermöglichen, kannst du Links und Tastaturereignisse verwenden. Diese Optionen bieten eine intuitive und barrierefreie Möglichkeit, zwischen verschiedenen Abschnitten deiner Tab-Schnittstelle zu wechseln.

Navigation mit Links

Du kannst HTML-Anker-Links (<a>) verwenden, um die Navigation zwischen Tabs zu ermöglichen. Füge jedem Tab-Element ein eindeutiges id-Attribut hinzu und verwende dieses id als Wert für das href-Attribut des Anker-Links.

// Tab-Element
<Tab.Pane id="tab-content-1">
  ...
</Tab.Pane>

// Anker-Link
<Nav.Link href="#tab-content-1">Tab 1</Nav.Link>

Wenn du auf den Anker-Link klickst, wird die Seite automatisch zum entsprechenden Tab-Element gescrollt.

Navigation mit Tastaturereignissen

Zusätzlich zu Links kannst du auch Tastaturereignisse verwenden, um die Navigation zwischen Tabs zu ermöglichen. React Bootstrap löst Tastaturereignisse wie keydown, keyup und keypress aus, die du abfangen kannst, um die aktive Registerkarte zu steuern.

import { useState } from 'react';
import { Tab, Nav } from 'react-bootstrap';

const MyTabs = () => {
  const [activeKey, setActiveKey] = useState('tab-1');

  const handleKeyDown = (e) => {
    if (e.key === 'ArrowLeft') {
      setActiveKey((prevKey) => {
        const index = tabKeys.indexOf(prevKey);
        return tabKeys[(index - 1 + tabKeys.length) % tabKeys.length];
      });
    } else if (e.key === 'ArrowRight') {
      setActiveKey((prevKey) => {
        const index = tabKeys.indexOf(prevKey);
        return tabKeys[(index + 1) % tabKeys.length];
      });
    }
  };

  // ...

  return (
    <>
      <Tab.Container activeKey={activeKey} onKeyDown={handleKeyDown}>
        {/* ... */}
      </Tab.Container>
      <Nav variant="tabs">
        {/* ... */}
      </Nav>
    </>
  );
};

In diesem Beispiel wird der Zustand activeKey verwendet, um die aktive Registerkarte zu verfolgen. Wenn der Benutzer die Pfeiltasten nach links oder rechts drückt, wird die handleKeyDown-Funktion aufgerufen und die aktive Registerkarte entsprechend aktualisiert.

Erstellen verschachtelter Tabs für komplexe Hierarchien

Wenn deine Anwendung komplexe hierarchische Datenstrukturen aufweist, können verschachtelte Tabs eine elegante Lösung darstellen. React Bootstrap ermöglicht es dir, verschachtelte Registerkartenstrukturen zu erstellen, um deine Benutzeroberfläche zu organisieren und die Navigation zu erleichtern.

Verschachtelte Registerkarten verwenden

Um verschachtelte Registerkarten zu verwenden, erstellst du zunächst eine äußere Registerkartenkomponente, die mehrere innere Registerkartenkomponenten enthält. Die inneren Registerkarten fungieren als Unterregisterkarten der äußeren Registerkarte.

Beispiel:

import { Tab, Tabs } from 'react-bootstrap';

const VerschachtelteTabs = () => {
  return (
    <Tabs defaultActiveKey="tab1">
      <Tab eventKey="tab1" title="Tab 1">
        <p>Inhalt von Tab 1</p>
      </Tab>
      <Tab eventKey="tab2" title="Tab 2">
        <Tabs defaultActiveKey="subtab1">
          <Tab eventKey="subtab1" title="Subtab 1">
            <p>Inhalt von Subtab 1</p>
          </Tab>
          <Tab eventKey="subtab2" title="Subtab 2">
            <p>Inhalt von Subtab 2</p>
          </Tab>
        </Tabs>
      </Tab>
    </Tabs>
  );
};

export default VerschachtelteTabs;

Navigieren durch verschachtelte Registerkarten

Die Navigation durch verschachtelte Registerkarten erfolgt ähnlich wie bei herkömmlichen Registerkarten. Du kannst die aktiven Registerkarten mithilfe der activeKey-Eigenschaft festlegen. Um zwischen verschachtelten Registerkarten zu navigieren, kannst du die onSelect-Callback-Funktion verwenden.

Beispiel:

import { Tab, Tabs } from 'react-bootstrap';

const VerschachtelteTabs = () => {
  const [aktiveRegisterkarte, setAktiveRegisterkarte] = useState('tab1');

  const handleSelect = (eventKey) => {
    setAktiveRegisterkarte(eventKey);
  };

  return (
    <Tabs activeKey={aktiveRegisterkarte} onSelect={handleSelect}>
      {/* ... Rest des Komponentencodes */}
    </Tabs>
  );
};

export default VerschachtelteTabs;

Tipps für verschachtelte Registerkarten

  • Verwende verschachtelte Registerkarten sparsam, um die Komplexität der Benutzeroberfläche überschaubar zu halten.
  • Überlege dir die Hierarchie deiner Registerkarten sorgfältig, um eine intuitive Navigation zu gewährleisten.
  • Verwende unterschiedliche Stile für verschachtelte Registerkarten, um sie visuell zu unterscheiden.
  • Passe die Registerkarten an, um ihren spezifischen Inhalt widerzuspiegeln.
  • Überwache die Leistung deiner Registerkarten, insbesondere bei verschachtelten Strukturen.

Hinzufügen von Inhalts-Panels für jeden Tab

Sobald du die Tabs eingerichtet hast, ist es an der Zeit, den Inhaltsbereich für jeden Tab hinzuzufügen. Hier ist eine Anleitung, wie du das machen kannst:

So fügst du Inhalts-Panels hinzu

Um ein Inhalts-Panel zu einem Tab hinzuzufügen, musst du die TabContent-Komponente von React Bootstrap verwenden:

import { Tab, TabContent } from 'react-bootstrap'

const MyTabs = () => {
  return (
    <>
      <Tab.Container id="left-tabs-example" defaultActiveKey="first">
        <Tab.Content>
          <Tab.Pane eventKey="first">
            Dies ist der Inhalt des ersten Tabs.
          </Tab.Pane>
          <Tab.Pane eventKey="second">
            Dies ist der Inhalt des zweiten Tabs.
          </Tab.Pane>
        </Tab.Content>
      </Tab.Container>
    </>
  );
};

Strukturierung des Inhalts

Die TabContent-Komponente fasst die einzelnen Inhalts-Panels zusammen, die den verschiedenen Tabs zugeordnet sind. Jedes Inhalts-Panel sollte in einer eigenen Tab.Pane-Komponente eingeschlossen werden.

Zuweisung von Inhalts-Panels zu Tabs

Der eventKey-Prop der Tab.Pane-Komponente muss mit dem eventKey des entsprechenden Tabs übereinstimmen. Auf diese Weise wird sichergestellt, dass das richtige Inhalts-Panel angezeigt wird, wenn ein bestimmter Tab aktiv ist.

Styling des Inhalts

Du kannst das Aussehen der Inhalts-Panels mithilfe von CSS anpassen. Du kannst beispielsweise die Schriftart, Schriftgröße und Farbe anpassen.

Best Practices

Hier sind einige Best Practices, die du beim Hinzufügen von Inhalts-Panels zu deinen Tabs beachten solltest:

  • Verwende eindeutige eventKey-Werte für jeden Tab und jedes Inhalts-Panel.
  • Stelle sicher, dass der Inhalt der Inhalts-Panels relevant für den entsprechenden Tab ist.
  • Vermeide es, zu viel Inhalt in ein Inhalts-Panel einzubauen.
  • Teste deine Tabs gründlich, um sicherzustellen, dass sie wie erwartet funktionieren.

Fehlerbehebung und Optimierung der Leistung von Tabs

Solltest du Probleme mit deinen React Bootstrap Tabs haben, findest du hier einige Tipps zur Fehlerbehebung und Optimierung der Leistung:

Fehlerbehebung

  • Tabs werden nicht gerendert: Überprüfe, ob du die React Bootstrap-Bibliothek ordnungsgemäß installiert und importiert hast.
  • Tabs sind nicht anklickbar: Stelle sicher, dass die onClick-Handler korrekt eingerichtet sind und die Tabs nicht deaktiviert sind.
  • Inhalte werden nicht geladen: Überprüfe, ob die Inhalte vom richtigen Speicherort geladen werden und du auf die entsprechenden Ressourcen zugreifen kannst.

Optimierung der Leistung

  • Vermeide unnötige Neu-Renderings: Verwende React.memo() oder PureComponent mit deinen Tab-Komponenten, um unnötige Neu-Renderings zu vermeiden.
  • Memoisiere die Daten: Wenn du große Datenmengen in deinen Tabs verarbeitest, erwäge die Verwendung von useMemo(), um sie zu memoisieren und die Leistung zu verbessern.
  • Lazy Loading: Wenn deine Tabs viele Inhalte laden müssen, kannst du React.lazy verwenden, um nur die benötigten Inhalte nach und nach zu laden.
  • Serverseitiges Rendering: Wenn es sich um eine statische Website handelt, kannst du serverseitiges Rendering in Betracht ziehen, um die Seitenladezeit zu verkürzen.

Best Practices

  • Verwende Tabs sparsam: Verwende Tabs nur dann, wenn es sinnvoll ist, Inhalte zu organisieren. Eine übermäßige Anzahl von Tabs kann die Benutzererfahrung beeinträchtigen.
  • Achte auf Barrierefreiheit: Stelle sicher, dass deine Tabs für alle Benutzer zugänglich sind, einschließlich derer, die Screenreader verwenden.
  • Optimierung für Mobilgeräte: Berücksichtige die Benutzerfreundlichkeit auf Mobilgeräten, indem du die Größe und den Abstand deiner Tabs entsprechend anpasst.
  • Überwachung der Leistung: Überwache die Leistung deiner Tabs und nimm Anpassungen vor, wenn die Ladezeiten oder die Reaktionsfähigkeit nicht optimal sind.

Best Practices für die Nutzung von Tabs in React-Anwendungen

Wenn du Tabs in deinen React-Anwendungen einsetzt, solltest du einige Best Practices beachten, um eine optimale Benutzererfahrung zu gewährleisten.

Tab-Bar-Layout

  • Platziere die Tab-Leiste oben oder an der Seite, um den Zugriff für Nutzer einfach zu gestalten.
  • Platziere Tabs in einer lesbaren Schriftgröße und mit genügend Abstand, um die Sichtbarkeit zu verbessern.

Inhalt der Tabs

  • Verwende Tabs für unterschiedliche Inhalte, die miteinander in Zusammenhang stehen.
  • Vermeide es, zu viele Tabs zu verwenden, um Überforderung zu verhindern.

Navigation und Zugänglichkeit

  • Verwende Links und Tastaturereignisse, um die Navigation zwischen Tabs zu ermöglichen.
  • Stelle sicher, dass Tabs für Nutzer mit eingeschränkten Fähigkeiten zugänglich sind, z. B. mit Screenreadern.

Inhalts-Panels

  • Platziere den Inhalt der Tabs in eindeutigen Inhalts-Panels.
  • Verwende Headings und Struktur, um den Inhalt logisch zu organisieren.

Fehlerbehebung und Leistung

  • Verwende Tools wie die React Developer Tools, um Leistungsprobleme zu diagnostizieren.
  • Optimiere die Komponentendarstellung, indem du Hooks und Memoisierung verwendest.

Zusätzliche Überlegungen

  • Erwäge die Verwendung von Tabs in Kombination mit Akkordeons oder Dropdown-Menüs, um komplexe Navigationsanforderungen zu erfüllen.
  • Passe die Farben und Stile der Tabs an das Design deiner Anwendung an, um ein einheitliches visuelles Erlebnis zu schaffen.

Weitere Beiträge

Folge uns

Neue Beiträge

Frontend

HTML Pfeile erstellen und anpassen: Richtungshinweise auf deiner Website klar und effektiv einsetzen

AUTOR • Jul 02, 2026
Frontend

HTML Code fett: Wie man Text hervorhebt und Aufmerksamkeit erregt

AUTOR • Jul 02, 2026
Frontend

Python HTML dynamische Webseiten einfach programmieren: So baust du interaktive Web-Projekte schnell

AUTOR • Jul 02, 2026
Frontend

HTML Slideshows erstellen: Schritt-für-Schritt-Anleitung für Anfänger

AUTOR • Jul 02, 2026
Frontend

Anleitung zum Festlegen von Schriftarten in HTML: So steuerst du Typografie sauber und effektiv

AUTOR • Jul 02, 2026
Frontend

Erstelle mühelose Grid Layouts mit einem CSS Grid Generator: Schnellere, saubere Layouts ohne Stress

AUTOR • Jul 02, 2026
API & Webservices

HTML Daten mühelos in Microsoft Excel importieren: So geht’s schnell und sauber

AUTOR • Jul 02, 2026
Frontend

de html net die definitive Anleitung für Webentwickler: So baust du schnelle, saubere Webseiten

AUTOR • Jul 02, 2026
Frontend

Deaktivieren und deaktivieren von Links im HTML: So steuerst du Klicks sauber

AUTOR • Jul 02, 2026
JavaScript

HTML in PDF in JavaScript umwandeln: So einfach geht’s wirklich

AUTOR • Jul 02, 2026
API & Webservices

HTML Parser Online: Einfach HTML-Dokumente analysieren und verarbeiten

AUTOR • Jul 02, 2026
Frontend

HTML Listen ohne Aufzählungspunkte: Der Leitfaden für saubere, professionelle Listen

AUTOR • Jul 02, 2026
Frontend

Erstellen einer fesselnden CSS Timeline für Ihre Website: So bauen Sie ein starkes visuelles Storytelling-Element

AUTOR • Jul 02, 2026
API & Webservices

HTTP 405 Method Not Allowed: Ursachen, Folgen und Lösungen für den Fehler

AUTOR • Jul 02, 2026
Frontend

Media Queries: Die Kunst, für alle Bildschirmgrößen zu entwerfen

AUTOR • Jul 02, 2026
Frontend

HTML Frames: Ein umfassender Leitfaden zur Strukturierung von Webinhalten

AUTOR • Jul 02, 2026
Frontend

Kostenloses Website Hosting mit HTML: So startest du ohne Budget und ohne Chaos

AUTOR • Jul 02, 2026
DevOps & Deployment

Kali Linux für Penetrationstester: Das ultimative Tool im Praxis-Check

AUTOR • Jul 02, 2026
DevOps & Deployment

Memes fuer Linux Enthusiasten: Die lustigen Seiten des Open Source-Alltags

AUTOR • Jul 02, 2026
DevOps & Deployment

Linux from Scratch: Baue dein eigenes Linux-Betriebssystem Schritt für Schritt

AUTOR • Jul 02, 2026

Beliebte Beiträge

Frameworks & Libraries

Effizientes Erstellen von Tabellen in LaTeX: Ein Schritt-für-Schritt Tutorial

AUTOR • Jun 16, 2025
Frontend

Die Flächenformeln für Umfang: Ein detaillierter Leitfaden

AUTOR • Sep 08, 2025
Datenbanken

Die Michaelis-Menten-Konstante: Bedeutung und Anwendung in der Biochemie

AUTOR • Apr 04, 2025
Frameworks & Libraries

Bachelorarbeit formatieren: Tipps und Tricks für eine optimale Präsentation

AUTOR • Sep 10, 2024
Frontend

Word Formatvorlagen Download - Die optimale Nutzung für Effizienz und Kreativität

AUTOR • Sep 10, 2024
Frontend

Has Kennzeichen: Was es bedeutet und wie es funktioniert

AUTOR • Jun 18, 2024
DevOps & Deployment

ADB: Das umfassende Tool zur Android-Debug-Bridge

AUTOR • May 06, 2024
DevOps & Deployment

Linux-Dienste: Die Fundamente für sichere und zuverlässige Systeme

AUTOR • May 06, 2024
DevOps & Deployment

Reise in die Welt von Linux: Ein umfassender Leitfaden für Einsteiger

AUTOR • May 06, 2024
DevOps & Deployment

AWK: Das vielseitige Werkzeug zur Datenverarbeitung

AUTOR • May 06, 2024
DevOps & Deployment

Überwachung der CPU-Temperatur unter Linux: Optimale Systemleistung sicherstellen

AUTOR • May 06, 2024
DevOps & Deployment

Tar-Entpacken: Eine Schritt-für-Schritt-Anleitung zum Extrahieren komprimierter Dateien

AUTOR • May 06, 2024
DevOps & Deployment

Installiere Linux auf Windows: Dein kompletter Schritt-für-Schritt-Leitfaden

AUTOR • May 06, 2024
DevOps & Deployment

Linux-Tastatur einfach und schnell umstellen: Eine Schritt-für-Schritt-Anleitung

AUTOR • Jan 20, 2026
DevOps & Deployment

Rocky Linux 9: Ein detaillierter Einblick in die neueste Enterprise Linux-Distribution

AUTOR • May 06, 2024
Frontend

Der HTML-Input-Typ "E-Mail" – Best Practices für die Sammlung valider E-Mail-Adressen

AUTOR • Apr 24, 2024
Frontend

HTML Lang Deutsch: Sprachattribute für barrierefreie Websites

AUTOR • Apr 24, 2024
Frontend

HTML-Codeprüfung: Finden und Beheben von Fehlern für eine perfekte Website

AUTOR • Apr 24, 2024
Frontend

HTML onload: Ein Leitfaden zur Ausführung von Code nach dem Laden der Seite

AUTOR • Apr 24, 2024
Frontend

HTML Monospace: Ein umfassender Leitfaden für die Verwendung von nicht proportionalen Schriftarten

AUTOR • Apr 24, 2024