Zurück zu blog
17. Jan. 2025
2 Minuten Lesezeit

React - Dynamische Anzeige von Inhalten

Ich habe gelernt, wie Teile einer React Komponente nicht gerendert werden bzw. wie Styling aufgrund von Interaktionen geändert werden kann.

Die folgende Anwendung beinhalten einen Button, welche dafür sorgt, dass neuer Inhalt angezeigt wird. Technisch betrachtet, wird die React Komponente nach dem Klick neu gerendert und damit der zuvor ausgeblendete Bereich angezeigt.

//App.jsx
import React, { useState } from 'react';

export default function App() {

  const [showDialog, setShowDialog] = useState(false);

    return (
      <div>
        {showDialog && (
          <div data-testid="alert" id="alert">
          <h2>Are you sure?</h2>
          <p>These changes can't be reverted!</p>
          <button onClick={() => setShowDialog(false)}>Proceed</button>
        </div>
        )}
      
        <button onClick={() => setShowDialog(true)}>Delete</button>
      </div>    
    );
}

Mit diesem Prinzip können wir auch das Styling einer Komponente ändern, wie das folgende Beispiel zeigt:

//App.jsx
import { useState } from 'react';

export default function App() {
  const [activeButton, setActiveButton] = useState(false);

  return (
    <div>
      <p className={activeButton ? '' : 'active'}>Style me!</p>
      <button onClick={() => setActiveButton(!activeButton)}>Toggle style</button>
    </div>
  );
}