{"id":69472,"date":"2023-05-26T11:06:31","date_gmt":"2023-05-26T10:06:31","guid":{"rendered":"https:\/\/kinsta.com\/fr\/?p=69472&#038;preview=true&#038;preview_id=69472"},"modified":"2024-10-04T10:44:55","modified_gmt":"2024-10-04T09:44:55","slug":"rendu-conditionnel-react","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/","title":{"rendered":"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur"},"content":{"rendered":"<p>Le rendu conditionnel est une fonctionnalit\u00e9 puissante de React qui permet aux d\u00e9veloppeurs de rendre les composants en fonction de certaines conditions.<\/p>\n<p>C&rsquo;est un concept fondamental qui joue un r\u00f4le crucial dans la construction d&rsquo;applications web dynamiques et interactives.<\/p>\n<p>Dans ce guide complet, nous allons plonger en profondeur dans le rendu conditionnel dans React, en couvrant les techniques de base et avanc\u00e9es avec des exemples pour une bonne compr\u00e9hension.<\/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>Comprendre le rendu conditionnel dans React<\/h2>\n<p>Le rendu conditionnel dans <a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-react-js\/\">React<\/a> permet aux d\u00e9veloppeurs de contr\u00f4ler dynamiquement le contenu affich\u00e9 \u00e0 l&rsquo;\u00e9cran en fonction de valeurs sp\u00e9cifiques qui peuvent \u00eatre stock\u00e9es dans une variable, un \u00e9tat ou des props.<\/p>\n<p>Cela peut \u00eatre extr\u00eamement utile dans les sc\u00e9narios o\u00f9 vous souhaitez afficher ou masquer certains \u00e9l\u00e9ments de l&rsquo;interface utilisateur, modifier la mise en page d&rsquo;une page ou rendre un contenu diff\u00e9rent en fonction des interactions de l&rsquo;utilisateur.<\/p>\n<p>Le rendu conditionnel est important dans les applications React car il vous permet de cr\u00e9er des interfaces utilisateur dynamiques et interactives qui peuvent r\u00e9pondre aux donn\u00e9es changeantes et aux interactions de l&rsquo;utilisateur en temps r\u00e9el.<\/p>\n<p>Il contribuera \u00e0 am\u00e9liorer les <a href=\"https:\/\/kinsta.com\/website-performance\/\">performances<\/a> et l&rsquo;efficacit\u00e9 de vos applications en \u00e9vitant le rendu inutile de composants ou d&rsquo;\u00e9l\u00e9ments qui ne sont pas n\u00e9cessaires.<\/p>\n\n<h2>Techniques de base pour le rendu conditionnel<\/h2>\n<p>Il existe plusieurs techniques de base que vous pouvez utiliser pour le rendu conditionnel dans React. Explorons chacune d&rsquo;entre elles en d\u00e9tail.<\/p>\n<h3>Utilisation de l&rsquo;instruction if pour le rendu conditionnel<\/h3>\n<p>L&rsquo;une des fa\u00e7ons les plus simples d&rsquo;impl\u00e9menter le rendu conditionnel dans React est d&rsquo;utiliser l&rsquo;instruction traditionnelle <code>if<\/code>.<\/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>L&rsquo;instruction JavaScript <code>if<\/code> peut \u00eatre utilis\u00e9e dans la m\u00e9thode <code>render()<\/code> de votre composant pour effectuer un rendu conditionnel du contenu en fonction d&rsquo;une certaine condition.<\/p>\n<p>Par exemple, vous pouvez utiliser l&rsquo;instruction if pour afficher un spinner de chargement en attendant que les donn\u00e9es se chargent :<\/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>Dans cet exemple, <code>MyComponent<\/code> r\u00e9cup\u00e8re des donn\u00e9es d&rsquo;une API \u00e0 l&rsquo;aide du hook <code>useEffect<\/code>. En attendant le chargement des donn\u00e9es, nous affichons un composant Spinner \u00e0 l&rsquo;aide de l&rsquo;instruction <code>if<\/code>.<\/p>\n<p>Un autre exemple peut \u00eatre le rendu d&rsquo;une interface utilisateur de secours lorsqu&rsquo;une erreur se produit lors du rendu de votre composant :<\/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>Dans ce code, nous avons un <code>MyComponent<\/code> qui prend une propri\u00e9t\u00e9 <code>data<\/code>. Si la propri\u00e9t\u00e9 <code>data<\/code> est erron\u00e9e, nous affichons un message d&rsquo;erreur \u00e0 l&rsquo;aide de la d\u00e9claration <code>if<\/code>.<\/p>\n<p>Enfin, vous pouvez afficher un contenu diff\u00e9rent selon le r\u00f4le de l&rsquo;utilisateur \u00e0 l&rsquo;aide de l&rsquo;instruction <code>if<\/code>:<\/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>Dans ce code, nous avons un <code>MyComponent<\/code> qui prend une propri\u00e9t\u00e9 <code>user<\/code>. En fonction de la propri\u00e9t\u00e9 <code>user.role<\/code>, nous affichons un contenu diff\u00e9rent \u00e0 l&rsquo;aide de l&rsquo;instruction <code>if<\/code>.<\/p>\n<h3>Utilisation de l&rsquo;op\u00e9rateur ternaire pour le rendu conditionnel<\/h3>\n<p>Une autre fa\u00e7on concise d&rsquo;impl\u00e9menter le rendu conditionnel dans React est d&rsquo;utiliser l&rsquo;op\u00e9rateur ternaire (?) dans JSX.<\/p>\n<p>L&rsquo;op\u00e9rateur ternaire vous permet d&rsquo;\u00e9crire une instruction if-else compacte en ligne en sp\u00e9cifiant 3 op\u00e9randes. Le premier op\u00e9rande est la condition, tandis que les deux autres op\u00e9randes sont les expressions. Si la condition est <code>true<\/code>, la premi\u00e8re expression sera ex\u00e9cut\u00e9e ; sinon, la deuxi\u00e8me expression sera ex\u00e9cut\u00e9e.<\/p>\n<p>Par exemple, vous pouvez rendre diff\u00e9rents composants en fonction d&rsquo;une propri\u00e9t\u00e9 :<\/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>Dans ce code, nous avons un <code>ExampleComponent<\/code> qui prend une propri\u00e9t\u00e9 appel\u00e9e <code>shouldRenderComponentA<\/code>. Nous utilisons l&rsquo;op\u00e9rateur ternaire pour rendre conditionnellement <code>ComponentA<\/code> ou <code>ComponentB<\/code> en fonction de la valeur de la propri\u00e9t\u00e9.<\/p>\n<p>Vous pouvez \u00e9galement rendre un texte diff\u00e9rent en fonction d&rsquo;un \u00e9tat :<\/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>Dans cet exemple, nous utilisons l&rsquo;op\u00e9rateur ternaire pour rendre un texte diff\u00e9rent en fonction de la valeur de l&rsquo;\u00e9tat <code>showMessage<\/code>. Lorsque vous cliquez sur le bouton, la valeur de <code>showMessage<\/code> est modifi\u00e9e et le texte est affich\u00e9 ou masqu\u00e9 en cons\u00e9quence.<\/p>\n<p>Enfin, vous pouvez afficher une barre de chargement pendant que les donn\u00e9es sont r\u00e9cup\u00e9r\u00e9es :<\/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>Dans cet exemple, nous utilisons l&rsquo;op\u00e9rateur ternaire pour rendre conditionnellement une barre de chargement pendant que des donn\u00e9es sont extraites d&rsquo;une API. Une fois les donn\u00e9es disponibles, nous rendons la propri\u00e9t\u00e9 <code>title<\/code> \u00e0 l&rsquo;aide de l&rsquo;op\u00e9rateur ternaire.<\/p>\n<h3>Utilisation des op\u00e9rateurs logiques AND et OR pour le rendu conditionnel<\/h3>\n<p>Vous pouvez \u00e9galement utiliser les op\u00e9rateurs logiques AND (<code>&&<\/code>) et OR (<code>||<\/code>) pour mettre en \u0153uvre le rendu conditionnel dans React.<\/p>\n<p>L&rsquo;op\u00e9rateur logique AND vous permet d&rsquo;effectuer le rendu d&rsquo;un composant uniquement si une certaine condition est vraie, tandis que l&rsquo;op\u00e9rateur logique OR vous permet d&rsquo;effectuer le rendu d&rsquo;un composant si l&rsquo;une ou l&rsquo;autre des conditions est vraie.<\/p>\n<p>Ces op\u00e9rateurs sont utiles lorsque vous avez des conditions simples qui d\u00e9terminent si un composant doit \u00eatre rendu ou non. Par exemple, si vous souhaitez rendre un bouton uniquement si un formulaire est valide, vous pouvez utiliser l&rsquo;op\u00e9rateur logique AND comme suit :<\/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>Dans cet exemple, nous avons un site <code>FormComponent<\/code> qui contient un formulaire avec deux champs de saisie pour <code>username<\/code> et <code>password<\/code>. Nous utilisons le crochet <code>useState<\/code> pour g\u00e9rer les valeurs du formulaire et la variable <code>isFormValid<\/code> pour v\u00e9rifier si les deux champs de saisie ont des valeurs. En utilisant l&rsquo;op\u00e9rateur logique ET (&#038;&#038;), nous ne rendons le bouton de soumission que si <code>isFormValid<\/code> est vrai. Cela garantit que le bouton n&rsquo;est activ\u00e9 que lorsque le formulaire est valide.<\/p>\n<p>De m\u00eame, vous pouvez utiliser l&rsquo;op\u00e9rateur OR pour afficher un message de chargement si les donn\u00e9es sont toujours en cours de chargement ou un message d&rsquo;erreur si une erreur se produit :<\/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>Dans cet exemple, un site <code>DataComponent<\/code> r\u00e9cup\u00e8re des donn\u00e9es d&rsquo;une API \u00e0 l&rsquo;aide de fetch et les affiche dans une liste. Nous utilisons le crochet <code>useState<\/code> pour g\u00e9rer les donn\u00e9es, l&rsquo;\u00e9tat de chargement et le message d&rsquo;erreur. En utilisant l&rsquo;op\u00e9rateur logique OR (||), nous pouvons afficher un message de chargement ou un message d&rsquo;erreur si l&rsquo;une ou l&rsquo;autre de ses conditions est vraie. Cela garantit que l&rsquo;utilisateur voit un message indiquant l&rsquo;\u00e9tat actuel du processus de r\u00e9cup\u00e9ration des donn\u00e9es.<\/p>\n<p>L&rsquo;utilisation des op\u00e9rateurs logiques AND et OR pour le rendu conditionnel dans React est une mani\u00e8re concise et lisible de traiter des conditions simples. Cependant, il est pr\u00e9f\u00e9rable d&rsquo;utiliser d&rsquo;autres approches comme les d\u00e9clarations <code>switch<\/code> pour une logique plus complexe.<\/p>\n<h2>Techniques avanc\u00e9es pour le rendu conditionnel<\/h2>\n<p>Le rendu conditionnel dans React peut \u00eatre plus complexe en fonction des exigences de votre application. Voici quelques techniques avanc\u00e9es que vous pouvez utiliser pour le rendu conditionnel dans des sc\u00e9narios plus complexes.<\/p>\n<h3>Utilisation des instructions Switch pour le rendu conditionnel<\/h3>\n<p>Bien que les instructions if et les op\u00e9rateurs ternaires soient des approches courantes pour le rendu conditionnel, il arrive qu&rsquo;une instruction <code>switch<\/code> soit plus appropri\u00e9e, en particulier lorsqu&rsquo;il s&rsquo;agit de conditions multiples.<\/p>\n<p>Voici un exemple :<\/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>Dans ce code, une instruction <code>switch<\/code> est utilis\u00e9e pour effectuer un rendu conditionnel du contenu en fonction de l&rsquo;instruction <code>userType<\/code>. Cette approche peut s&rsquo;av\u00e9rer utile lorsqu&rsquo;il s&rsquo;agit de conditions multiples et offre une mani\u00e8re plus organis\u00e9e et plus lisible de g\u00e9rer une logique complexe.<\/p>\n<h3>Rendu conditionnel avec React Router<\/h3>\n<p>React Router est une biblioth\u00e8que populaire pour g\u00e9rer le routage c\u00f4t\u00e9 client dans les applications React. React Router vous permet d&rsquo;effectuer un rendu conditionnel des composants en fonction de l&rsquo;itin\u00e9raire actuel.<\/p>\n<p>Voici un exemple de mise en \u0153uvre du rendu conditionnel \u00e0 l&rsquo;aide de 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>Dans ce code, nous utilisons l&rsquo;\u00e9tat <code>isLoggedIn<\/code> pour rendre conditionnellement soit le composant <code>Dashboard<\/code> si l&rsquo;utilisateur est connect\u00e9, soit le composant <code>NotFound<\/code> si l&rsquo;utilisateur n&rsquo;est pas connect\u00e9. Le composant <code>Login<\/code> d\u00e9finit l&rsquo;\u00e9tat <code>isLoggedIn<\/code> sur <code>true<\/code> une fois que l&rsquo;utilisateur s&rsquo;est connect\u00e9 avec succ\u00e8s.<\/p>\n<p>Notez que nous utilisons la propri\u00e9t\u00e9 des enfants du composant <code>&lt;Route&gt;<\/code> pour transmettre le composant <code>Login<\/code> et la fonction <code>setIsLoggedIn<\/code>. Cela nous permet de transmettre des \u00e9l\u00e9ments au composant <code>Login<\/code> sans les sp\u00e9cifier dans la propri\u00e9t\u00e9 <code>path<\/code>.<\/p>\n\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>Le rendu conditionnel est une technique puissante de React qui vous permet de mettre \u00e0 jour dynamiquement l&rsquo;interface utilisateur en fonction de diff\u00e9rentes conditions.<\/p>\n<p>En fonction de la complexit\u00e9 de la logique de l&rsquo;interface utilisateur de votre application, vous pouvez choisir l&rsquo;approche qui r\u00e9pond le mieux \u00e0 vos besoins.<\/p>\n<p>N&rsquo;oubliez pas de garder votre code propre, organis\u00e9 et lisible, et de toujours tester minutieusement votre logique de rendu conditionnel pour vous assurer qu&rsquo;elle fonctionne comme pr\u00e9vu dans diff\u00e9rents sc\u00e9narios.<\/p>\n<p>Vous cherchez la solution d&rsquo;h\u00e9bergement id\u00e9ale pour vos applications React ? Essayez gratuitement l&rsquo;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">h\u00e9bergement d&rsquo;applications de Kinsta<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le rendu conditionnel est une fonctionnalit\u00e9 puissante de React qui permet aux d\u00e9veloppeurs de rendre les composants en fonction de certaines conditions. C&rsquo;est un concept fondamental &#8230;<\/p>\n","protected":false},"author":287,"featured_media":69473,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1004],"class_list":["post-69472","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>Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Apprenez comment fonctionne le rendu conditionnel dans React et faites passer vos comp\u00e9tences en d\u00e9veloppement web au niveau sup\u00e9rieur gr\u00e2ce \u00e0 notre guide complet.\" \/>\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\/fr\/blog\/rendu-conditionnel-react\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur\" \/>\n<meta property=\"og:description\" content=\"Apprenez comment fonctionne le rendu conditionnel dans React et faites passer vos comp\u00e9tences en d\u00e9veloppement web au niveau sup\u00e9rieur gr\u00e2ce \u00e0 notre guide complet.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-26T10:06:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-04T09:44:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/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=\"Apprenez comment fonctionne le rendu conditionnel dans React et faites passer vos comp\u00e9tences en d\u00e9veloppement web au niveau sup\u00e9rieur gr\u00e2ce \u00e0 notre guide complet.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur\",\"datePublished\":\"2023-05-26T10:06:31+00:00\",\"dateModified\":\"2024-10-04T09:44:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/\"},\"wordCount\":1581,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/\",\"name\":\"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg\",\"datePublished\":\"2023-05-26T10:06:31+00:00\",\"dateModified\":\"2024-10-04T09:44:55+00:00\",\"description\":\"Apprenez comment fonctionne le rendu conditionnel dans React et faites passer vos comp\u00e9tences en d\u00e9veloppement web au niveau sup\u00e9rieur gr\u00e2ce \u00e0 notre guide complet.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/react\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/fr\/#website\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"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\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/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\/fr\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur - Kinsta\u00ae","description":"Apprenez comment fonctionne le rendu conditionnel dans React et faites passer vos comp\u00e9tences en d\u00e9veloppement web au niveau sup\u00e9rieur gr\u00e2ce \u00e0 notre guide complet.","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\/fr\/blog\/rendu-conditionnel-react\/","og_locale":"fr_FR","og_type":"article","og_title":"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur","og_description":"Apprenez comment fonctionne le rendu conditionnel dans React et faites passer vos comp\u00e9tences en d\u00e9veloppement web au niveau sup\u00e9rieur gr\u00e2ce \u00e0 notre guide complet.","og_url":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2023-05-26T10:06:31+00:00","article_modified_time":"2024-10-04T09:44:55+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Apprenez comment fonctionne le rendu conditionnel dans React et faites passer vos comp\u00e9tences en d\u00e9veloppement web au niveau sup\u00e9rieur gr\u00e2ce \u00e0 notre guide complet.","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Joel Olawanle","Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur","datePublished":"2023-05-26T10:06:31+00:00","dateModified":"2024-10-04T09:44:55+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/"},"wordCount":1581,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg","inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/","url":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/","name":"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg","datePublished":"2023-05-26T10:06:31+00:00","dateModified":"2024-10-04T09:44:55+00:00","description":"Apprenez comment fonctionne le rendu conditionnel dans React et faites passer vos comp\u00e9tences en d\u00e9veloppement web au niveau sup\u00e9rieur gr\u00e2ce \u00e0 notre guide complet.","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/05\/react-conditional-render.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/rendu-conditionnel-react\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"React","item":"https:\/\/kinsta.com\/fr\/sujets\/react\/"},{"@type":"ListItem","position":3,"name":"Ma\u00eetriser le rendu conditionnel de React : Une plong\u00e9e en profondeur"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/fr\/#website","url":"https:\/\/kinsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","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\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/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\/fr\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/69472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=69472"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/69472\/revisions"}],"predecessor-version":[{"id":69483,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/69472\/revisions\/69483"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/translations\/es"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/69472\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/69473"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=69472"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=69472"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=69472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}