{"id":62052,"date":"2023-05-26T11:04:48","date_gmt":"2023-05-26T10:04:48","guid":{"rendered":"https:\/\/kinsta.com\/de\/?p=62052&#038;preview=true&#038;preview_id=62052"},"modified":"2023-08-23T11:01:38","modified_gmt":"2023-08-23T10:01:38","slug":"react-bedingtes-rendering","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/","title":{"rendered":"React bedingtes Rendering beherrschen: Ein Tiefgang"},"content":{"rendered":"<p>Bedingtes Rendering ist eine leistungsstarke Funktion in React, die es Entwicklern erm\u00f6glicht, Komponenten basierend auf bestimmten Bedingungen zu rendern.<\/p>\n<p>Es ist ein grundlegendes Konzept, das bei der Entwicklung dynamischer und interaktiver Webanwendungen eine wichtige Rolle spielt.<\/p>\n<p>In diesem umfassenden Leitfaden tauchen wir tief in das bedingte Rendering in React ein und erl\u00e4utern grundlegende und fortgeschrittene Techniken anhand von Beispielen, damit du sie richtig verstehst.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Das bedingte Rendering in React verstehen<\/h2>\n<p>Das bedingte Rendering in <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-react-js\/\">React<\/a> erm\u00f6glicht es Entwicklern, dynamisch zu steuern, welche Inhalte auf dem Bildschirm angezeigt werden, und zwar auf der Grundlage bestimmter Werte, die in einer Variablen, einem Status oder einer Requisite gespeichert werden k\u00f6nnen.<\/p>\n<p>Das kann sehr n\u00fctzlich sein, wenn du bestimmte UI-Elemente ein- oder ausblenden, das Layout einer Seite \u00e4ndern oder verschiedene Inhalte auf Basis von Benutzerinteraktionen darstellen willst.<\/p>\n<p>Das bedingte Rendering ist in React-Anwendungen wichtig, weil es dir erm\u00f6glicht, dynamische und interaktive Benutzeroberfl\u00e4chen zu erstellen, die in Echtzeit auf ver\u00e4nderte Daten und Benutzerinteraktionen reagieren k\u00f6nnen.<\/p>\n<p>Es tr\u00e4gt dazu bei, die <a href=\"https:\/\/kinsta.com\/website-performance\/\">Leistung<\/a> und Effizienz deiner Anwendungen zu verbessern, indem es das unn\u00f6tige Rendering von Komponenten oder Elementen, die nicht ben\u00f6tigt werden, vermeidet.<\/p>\n\n<h2>Grundlegende Techniken f\u00fcr bedingtes Rendering<\/h2>\n<p>Es gibt mehrere grundlegende Techniken, die du f\u00fcr das bedingte Rendering in React verwenden kannst. Lass uns jede von ihnen im Detail untersuchen.<\/p>\n<h3>Verwendung der if-Anweisung f\u00fcr bedingtes Rendering<\/h3>\n<p>Eine der einfachsten M\u00f6glichkeiten, das bedingte Rendering in React zu implementieren, ist die Verwendung der traditionellen <code>if<\/code> Anweisung.<\/p>\n<pre><code class=\"language-jsx\">if (condition) {\n    return &lt;p&gt;Expression 1&lt;\/p&gt;;\n  } else {\n    return &lt;p&gt;Expression 2&lt;\/p&gt;;\n  }<\/code><\/pre>\n<p>Die JavaScript-Anweisung <code>if<\/code> kann in der Methode <code>render()<\/code> deiner Komponente verwendet werden, um Inhalte abh\u00e4ngig von einer bestimmten Bedingung zu rendern.<\/p>\n<p>Du kannst die if-Anweisung zum Beispiel verwenden, um einen Lade-Spinner anzuzeigen, w\u00e4hrend du darauf wartest, dass Daten geladen werden:<\/p>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from 'react';\nimport Spinner from '.\/Spinner';\n\nconst MyComponent = () =&gt; {\n  const [isLoading, setIsLoading] = useState(true);\n  const [data, setData] = useState(null);\n\n  useEffect(() =&gt; {\n    \/\/ Fetch data from an API\n    fetch('https:\/\/example.com\/data')\n      .then((response) =&gt; response.json())\n      .then((data) =&gt; {\n        setData(data);\n        setIsLoading(false);\n      });\n  }, []);\n\n  if (isLoading) {\n    return &lt;Spinner \/&gt;;\n  }\n\n  return &lt;div&gt;{\/* Render the data here *\/}&lt;\/div&gt;;\n};\n\nexport default MyComponent;<\/code><\/pre>\n<p>In diesem Beispiel holt <code>MyComponent<\/code> mit dem Hook <code>useEffect<\/code> Daten von einer API ab. W\u00e4hrend wir darauf warten, dass die Daten geladen werden, zeigen wir mit der Anweisung <code>if<\/code> eine Spinner-Komponente an.<\/p>\n<p>Ein anderes Beispiel ist das Rendern einer Fallback-UI, wenn beim Rendern deiner Komponente ein Fehler auftritt:<\/p>\n<pre><code class=\"language-jsx\">const MyComponent = ({ data }) =&gt; {\n  if (!data) {\n    return &lt;p&gt;Something went wrong. Please try again later.&lt;\/p&gt;;\n  }\n\n  return &lt;div&gt;{\/* Render the data here *\/}&lt;\/div&gt;;\n};\n\nexport default MyComponent;<\/code><\/pre>\n<p>In diesem Code haben wir eine <code>MyComponent<\/code>, die eine <code>data<\/code> Anweisung annimmt. Wenn die Requisite <code>data<\/code> fehlerhaft ist, wird mit der Anweisung <code>if<\/code> eine Fehlermeldung angezeigt.<\/p>\n<p>Schlie\u00dflich kannst du mit der Anweisung <code>if<\/code> unterschiedliche Inhalte f\u00fcr verschiedene Benutzerrollen anzeigen:<\/p>\n<pre><code class=\"language-jsx\">const MyComponent = ({ user }) =&gt; {\n  if (user.role === 'admin') {\n    return &lt;p&gt;Welcome, admin!&lt;\/p&gt;;\n  } else if (user.role === 'user') {\n    return &lt;p&gt;Welcome, user!&lt;\/p&gt;;\n  } else {\n    return &lt;p&gt;You are not authorized to access this page.&lt;\/p&gt;;\n  }\n};\n\nexport default MyComponent;<\/code><\/pre>\n<p>In diesem Code haben wir eine <code>MyComponent<\/code>, die eine <code>user<\/code> -Anweisung ben\u00f6tigt. Abh\u00e4ngig von der Eigenschaft <code>user.role<\/code> zeigen wir mit der Anweisung <code>if<\/code> unterschiedliche Inhalte an.<\/p>\n<h3>Verwendung des tern\u00e4ren Operators f\u00fcr bedingtes Rendering<\/h3>\n<p>Eine weitere M\u00f6glichkeit, bedingtes Rendering in React zu implementieren, ist die Verwendung des tern\u00e4ren Operators in JSX.<\/p>\n<p>Mit dem tern\u00e4ren Operator kannst du eine kompakte Inline if-else-Anweisung schreiben, indem du 3 Operanden angibst. Der erste Operand ist die Bedingung, w\u00e4hrend die beiden anderen Operanden die Ausdr\u00fccke sind. Wenn die Bedingung <code>true<\/code> lautet, wird der erste Ausdruck ausgef\u00fchrt, andernfalls der zweite Ausdruck.<\/p>\n<p>Du kannst zum Beispiel verschiedene Komponenten auf der Grundlage einer Requisite darstellen:<\/p>\n<pre><code class=\"language-jsx\">import ComponentA from '.\/ComponentA';\nimport ComponentB from '.\/ComponentB';\n\nconst ExampleComponent = ({ shouldRenderComponentA }) =&gt; {\n  return (\n    &lt;div&gt;\n      {shouldRenderComponentA ? &lt;ComponentA \/&gt; : &lt;ComponentB \/&gt;}\n    &lt;\/div&gt;\n  );\n};\n\nexport default ExampleComponent;<\/code><\/pre>\n<p>In diesem Code haben wir eine <code>ExampleComponent<\/code>, die eine Requisite namens <code>shouldRenderComponentA<\/code> annimmt. Wir verwenden den tern\u00e4ren Operator, um abh\u00e4ngig vom Prop-Wert entweder <code>ComponentA<\/code> oder <code>ComponentB<\/code> darzustellen.<\/p>\n<p>Du kannst auch einen anderen Text basierend auf einem Zustand darstellen:<\/p>\n<pre><code class=\"language-jsx\">import { useState } from 'react';\n\nconst ExampleComponent = () =&gt; {\n  const [showMessage, setShowMessage] = useState(false);\n\n  return (\n    &lt;div&gt;\n      &lt;button onClick={() =&gt; setShowMessage(!showMessage)}&gt;\n        {showMessage ? 'Hide message' : 'Show message'}\n      &lt;\/button&gt;\n      {showMessage ? &lt;p&gt;Hello, world!&lt;\/p&gt; : null}\n    &lt;\/div&gt;\n  );\n};\n\nexport default ExampleComponent;<\/code><\/pre>\n<p>In diesem Beispiel verwenden wir den tern\u00e4ren Operator, um abh\u00e4ngig vom Wert des Zustands <code>showMessage<\/code> einen anderen Text darzustellen. Wenn du auf die Schaltfl\u00e4che klickst, wird der Wert von <code>showMessage<\/code> umgeschaltet und der Text entsprechend angezeigt oder ausgeblendet.<\/p>\n<p>Schlie\u00dflich kannst du einen Lade-Spinner darstellen, w\u00e4hrend die Daten abgerufen werden:<\/p>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from 'react';\nimport Spinner from '.\/Spinner';\n\nconst ExampleComponent = () =&gt; {\n  const [isLoading, setIsLoading] = useState(true);\n  const [data, setData] = useState(null);\n\n  useEffect(() =&gt; {\n    const fetchData = async () =&gt; {\n      const response = await fetch('https:\/\/jsonplaceholder.typicode.com\/todos\/1');\n      const jsonData = await response.json();\n      setData(jsonData);\n      setIsLoading(false);\n    };\n    fetchData();\n  }, []);\n\n  return (\n    &lt;div&gt;\n      {isLoading ? &lt;Spinner \/&gt; : &lt;p&gt;{data.title}&lt;\/p&gt;}\n    &lt;\/div&gt;\n  );\n};\n\nexport default ExampleComponent;<\/code><\/pre>\n<p>In diesem Beispiel verwenden wir den tern\u00e4ren Operator, um einen Lade-Spinner anzuzeigen, w\u00e4hrend Daten von einer API abgerufen werden. Sobald die Daten verf\u00fcgbar sind, wird die Eigenschaft <code>title<\/code> mithilfe des tern\u00e4ren Operators dargestellt.<\/p>\n<h3>Logische AND- und OR-Operatoren f\u00fcr bedingtes Rendering verwenden<\/h3>\n<p>Du kannst auch die logischen Operatoren AND (<code>&&<\/code>) und OR (<code>||<\/code>) verwenden, um ein bedingtes Rendering in React zu implementieren.<\/p>\n<p>Der logische AND-Operator erm\u00f6glicht es dir, eine Komponente nur dann zu rendern, wenn eine bestimmte Bedingung erf\u00fcllt ist, w\u00e4hrend der logische OR-Operator es dir erm\u00f6glicht, eine Komponente zu rendern, wenn eine der beiden Bedingungen erf\u00fcllt ist.<\/p>\n<p>Diese Operatoren sind n\u00fctzlich, wenn du einfache Bedingungen hast, die bestimmen, ob eine Komponente gerendert werden soll oder nicht. Wenn du zum Beispiel eine Schaltfl\u00e4che nur darstellen willst, wenn ein Formular g\u00fcltig ist, kannst du den logischen UND-Operator wie folgt verwenden:<\/p>\n<pre><code class=\"language-jsx\">import { useState } from 'react';\n\nconst FormComponent = () =&gt; {\n  const [formValues, setFormValues] = useState({ username: \"\", password: \"\" });\n\n  const isFormValid = formValues.username && formValues.password;\n\n  const handleSubmit = (event) =&gt; {\n    event.preventDefault();\n    \/\/ Submit form data\n  };\n\n  return (\n    &lt;form onSubmit={handleSubmit}&gt;\n      &lt;input\n        type=\"text\"\n        value={formValues.username}\n        placeholder=\"Type Username...\"\n        onChange={(e) =&gt;\n          setFormValues({ ...formValues, username: e.target.value })\n        }\n      \/&gt;\n      &lt;br \/&gt;\n      &lt;input\n        type=\"password\"\n        value={formValues.password}\n        placeholder=\"Type Password...\"\n        onChange={(e) =&gt;\n          setFormValues({ ...formValues, password: e.target.value })\n        }\n      \/&gt;\n      {isFormValid && &lt;button type=\"submit\"&gt;Submit&lt;\/button&gt;}\n    &lt;\/form&gt;\n  );\n};\n\nexport default FormComponent;<\/code><\/pre>\n<p>In diesem Beispiel haben wir ein <code>FormComponent<\/code>, das ein Formular mit zwei Eingabefeldern f\u00fcr <code>username<\/code> und <code>password<\/code> enth\u00e4lt. Wir verwenden den Hook <code>useState<\/code>, um die Formularwerte zu verwalten, und die Variable <code>isFormValid<\/code>, um zu pr\u00fcfen, ob beide Eingabefelder Werte enthalten. Mit dem logischen UND-Operator (&#038;&#038;) wird der Submit-Button nur angezeigt, wenn <code>isFormValid<\/code> wahr ist. Dadurch wird sichergestellt, dass die Schaltfl\u00e4che nur aktiviert wird, wenn das Formular g\u00fcltig ist.<\/p>\n<p>In \u00e4hnlicher Weise kannst du den OR-Operator verwenden, um eine Lademeldung auszugeben, wenn die Daten noch geladen werden, oder eine Fehlermeldung, wenn ein Fehler auftritt:<\/p>\n<pre><code class=\"language-jsx\">import React, { useEffect, useState } from 'react';\n\nconst DataComponent = () =&gt; {\n  const [data, setData] = useState(null);\n  const [isLoading, setIsLoading] = useState(true);\n  const [errorMessage, setErrorMessage] = useState('');\n\n  useEffect(() =&gt; {\n    const fetchData = async () =&gt; {\n      try {\n        const response = await fetch('https:\/\/api.example.com\/data');\n        const data = await response.json();\n        setData(data);\n      } catch (error) {\n        setErrorMessage('An error occurred while fetching data.');\n      } finally {\n        setIsLoading(false);\n      }\n    };\n\n    fetchData();\n  }, []);\n\n  return (\n    &lt;&gt;\n      {errorMessage || isLoading ? (\n        &lt;p&gt;{errorMessage || 'Loading...'}&lt;\/p&gt;\n      ) : (\n        &lt;ul&gt;\n          {data.map((item) =&gt; (\n            &lt;li key={item.id}&gt;{item.name}&lt;\/li&gt;\n          ))}\n        &lt;\/ul&gt;\n      )}\n    &lt;\/&gt;\n  );\n};\n\nexport default DataComponent;<\/code><\/pre>\n<p>In diesem Beispiel holt <code>DataComponent<\/code> mit fetch Daten von einer API ab und zeigt sie in einer Liste an. Wir verwenden den <code>useState<\/code> Hook, um die Daten, den Ladezustand und die Fehlermeldung zu verwalten. Mit dem logischen ODER-Operator (||) k\u00f6nnen wir eine Lade- oder eine Fehlermeldung anzeigen, wenn eine der beiden Bedingungen erf\u00fcllt ist. So wird sichergestellt, dass der Nutzer eine Meldung sieht, die den aktuellen Stand des Datenabrufs anzeigt.<\/p>\n<p>Die Verwendung der logischen Operatoren AND und OR f\u00fcr das bedingte Rendering in React ist eine \u00fcbersichtliche und lesbare Methode, um einfache Bedingungen zu behandeln. F\u00fcr komplexere Logik ist es jedoch besser, andere Ans\u00e4tze wie die <code>switch<\/code> Anweisungen zu verwenden.<\/p>\n<h2>Fortgeschrittene Techniken f\u00fcr bedingtes Rendering<\/h2>\n<p>Das bedingte Rendering in React kann je nach den Anforderungen deiner Anwendung komplexer sein. Hier sind einige fortgeschrittene Techniken, die du f\u00fcr das bedingte Rendering in komplexeren Szenarien verwenden kannst.<\/p>\n<h3>Verwendung von Switch-Anweisungen f\u00fcr bedingtes Rendering<\/h3>\n<p>W\u00e4hrend if-Anweisungen und tern\u00e4re Operatoren g\u00e4ngige Ans\u00e4tze f\u00fcr das bedingte Rendering sind, kann manchmal eine <code>switch<\/code> Anweisung besser geeignet sein, vor allem wenn es um mehrere Bedingungen geht.<\/p>\n<p>Hier ist ein Beispiel:<\/p>\n<pre><code class=\"language-jsx\">import React from 'react';\nconst MyComponent = ({ userType }) =&gt; {\n  switch (userType) {\n    case 'admin':\n      return &lt;p&gt;Welcome, admin user!&lt;\/p&gt;;\n    case 'user':\n      return &lt;p&gt;Welcome, regular user!&lt;\/p&gt;;\n    default:\n      return &lt;p&gt;Please log in to continue.&lt;\/p&gt;;\n  }\n};\nexport default MyComponent;<\/code><\/pre>\n<p>In diesem Code wird eine <code>switch<\/code> Anweisung verwendet, um Inhalte auf der Grundlage der <code>userType<\/code> Requisite bedingt darzustellen. Dieser Ansatz kann hilfreich sein, wenn es um mehrere Bedingungen geht, und bietet eine \u00fcbersichtlichere und besser lesbare M\u00f6glichkeit, komplexe Logik zu handhaben.<\/p>\n<h3>Bedingtes Rendering mit React Router<\/h3>\n<p>React Router ist eine beliebte Library f\u00fcr das clientseitige Routing in React-Anwendungen. Mit React Router kannst du Komponenten basierend auf der aktuellen Route bedingt rendern.<\/p>\n<p>Hier ist ein Beispiel f\u00fcr die Implementierung von bedingtem Rendering mit React Router:<\/p>\n<pre><code class=\"language-jsx\">import { useState } from 'react';\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\n\nimport Home from '.\/components\/Home';\nimport Login from '.\/components\/Login';\nimport Dashboard from '.\/components\/Dashboard';\nimport NotFound from '.\/components\/NotFound';\n\nconst App = () =&gt; {\n  const [isLoggedIn, setIsLoggedIn] = useState(false);\n\n  return (\n    &lt;Router&gt;\n      &lt;Switch&gt;\n        &lt;Route exact path=\"\/\" component={Home} \/&gt;\n        &lt;Route path=\"\/login\"&gt;\n          &lt;Login setIsLoggedIn={setIsLoggedIn} \/&gt;\n        &lt;\/Route&gt;\n        {isLoggedIn ? (\n          &lt;Route path=\"\/dashboard\" component={Dashboard} \/&gt;\n        ) : (\n          &lt;Route component={NotFound} \/&gt;\n        )}\n      &lt;\/Switch&gt;\n    &lt;\/Router&gt;\n  );\n};\n\nexport default App;<\/code><\/pre>\n<p>In diesem Code verwenden wir den Status <code>isLoggedIn<\/code>, um entweder die Komponente <code>Dashboard<\/code> zu rendern, wenn der Nutzer eingeloggt ist, oder die Komponente <code>NotFound<\/code>, wenn der Nutzer nicht eingeloggt ist. Die Komponente <code>Login<\/code> setzt den Status <code>isLoggedIn<\/code> auf <code>true<\/code>, sobald sich der Nutzer erfolgreich angemeldet hat.<\/p>\n<p>Beachte, dass wir die Requisiten der Komponente <code>&lt;Route&gt;<\/code> verwenden, um die Komponente <code>Login<\/code> und die Funktion <code>setIsLoggedIn<\/code> zu \u00fcbergeben. So k\u00f6nnen wir Requisiten an die Komponente <code>Login<\/code> \u00fcbergeben, ohne sie in der Requisite <code>path<\/code> anzugeben.<\/p>\n\n<h2>Zusammenfassung<\/h2>\n<p>Das bedingte Rendering ist eine leistungsstarke Technik in React, mit der du die Benutzeroberfl\u00e4che dynamisch auf der Grundlage verschiedener Bedingungen aktualisieren kannst.<\/p>\n<p>Je nachdem, wie komplex die UI-Logik deiner Anwendung ist, kannst du den Ansatz w\u00e4hlen, der am besten zu deinen Bed\u00fcrfnissen passt.<\/p>\n<p>Denke daran, deinen Code sauber, \u00fcbersichtlich und lesbar zu halten, und teste deine bedingte Rendering-Logik immer gr\u00fcndlich, um sicherzustellen, dass sie in verschiedenen Szenarien wie erwartet funktioniert.<\/p>\n<p>Suchst du nach der idealen Hosting-L\u00f6sung f\u00fcr deine React-Anwendungen? Teste das <a href=\"https:\/\/sevalla.com\/application-hosting\/\">Anwendungs-Hosting von Kinsta<\/a> kostenlos!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bedingtes Rendering ist eine leistungsstarke Funktion in React, die es Entwicklern erm\u00f6glicht, Komponenten basierend auf bestimmten Bedingungen zu rendern. Es ist ein grundlegendes Konzept, das bei &#8230;<\/p>\n","protected":false},"author":287,"featured_media":62053,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[975],"class_list":["post-62052","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-react"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>React bedingtes Rendering meistern: Ein Tiefgang - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Lerne, wie das bedingte Rendering in React funktioniert und bringe deine Webentwicklungsf\u00e4higkeiten mit unserem umfassenden Leitfaden auf das n\u00e4chste Level.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"React bedingtes Rendering beherrschen: Ein Tiefgang\" \/>\n<meta property=\"og:description\" content=\"Lerne, wie das bedingte Rendering in React funktioniert und bringe deine Webentwicklungsf\u00e4higkeiten mit unserem umfassenden Leitfaden auf das n\u00e4chste Level.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-26T10:04:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-23T10:01:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Lerne, wie das bedingte Rendering in React funktioniert und bringe deine Webentwicklungsf\u00e4higkeiten mit unserem umfassenden Leitfaden auf das n\u00e4chste Level.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"React bedingtes Rendering beherrschen: Ein Tiefgang\",\"datePublished\":\"2023-05-26T10:04:48+00:00\",\"dateModified\":\"2023-08-23T10:01:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/\"},\"wordCount\":1326,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg\",\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/\",\"name\":\"React bedingtes Rendering meistern: Ein Tiefgang - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg\",\"datePublished\":\"2023-05-26T10:04:48+00:00\",\"dateModified\":\"2023-08-23T10:01:38+00:00\",\"description\":\"Lerne, wie das bedingte Rendering in React funktioniert und bringe deine Webentwicklungsf\u00e4higkeiten mit unserem umfassenden Leitfaden auf das n\u00e4chste Level.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/react\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"React bedingtes Rendering beherrschen: Ein Tiefgang\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"React bedingtes Rendering meistern: Ein Tiefgang - Kinsta\u00ae","description":"Lerne, wie das bedingte Rendering in React funktioniert und bringe deine Webentwicklungsf\u00e4higkeiten mit unserem umfassenden Leitfaden auf das n\u00e4chste Level.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/","og_locale":"de_DE","og_type":"article","og_title":"React bedingtes Rendering beherrschen: Ein Tiefgang","og_description":"Lerne, wie das bedingte Rendering in React funktioniert und bringe deine Webentwicklungsf\u00e4higkeiten mit unserem umfassenden Leitfaden auf das n\u00e4chste Level.","og_url":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2023-05-26T10:04:48+00:00","article_modified_time":"2023-08-23T10:01:38+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Lerne, wie das bedingte Rendering in React funktioniert und bringe deine Webentwicklungsf\u00e4higkeiten mit unserem umfassenden Leitfaden auf das n\u00e4chste Level.","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Joel Olawanle","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"React bedingtes Rendering beherrschen: Ein Tiefgang","datePublished":"2023-05-26T10:04:48+00:00","dateModified":"2023-08-23T10:01:38+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/"},"wordCount":1326,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg","inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/","url":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/","name":"React bedingtes Rendering meistern: Ein Tiefgang - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg","datePublished":"2023-05-26T10:04:48+00:00","dateModified":"2023-08-23T10:01:38+00:00","description":"Lerne, wie das bedingte Rendering in React funktioniert und bringe deine Webentwicklungsf\u00e4higkeiten mit unserem umfassenden Leitfaden auf das n\u00e4chste Level.","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/05\/react-conditional-render.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/react-bedingtes-rendering\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"React","item":"https:\/\/kinsta.com\/de\/thema\/react\/"},{"@type":"ListItem","position":3,"name":"React bedingtes Rendering beherrschen: Ein Tiefgang"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/de\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/62052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=62052"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/62052\/revisions"}],"predecessor-version":[{"id":62402,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/62052\/revisions\/62402"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/translations\/es"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/62052\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/62053"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=62052"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=62052"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=62052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}