{"id":76527,"date":"2024-03-13T12:12:54","date_gmt":"2024-03-13T11:12:54","guid":{"rendered":"https:\/\/kinqsta.com\/fr\/?p=76527&#038;post_type=knowledgebase&#038;preview_id=76527"},"modified":"2025-10-01T20:42:23","modified_gmt":"2025-10-01T19:42:23","slug":"react-hook-useeffect-has-a-missing-dependency","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/","title":{"rendered":"Comment corriger l&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb"},"content":{"rendered":"<p>Le hook <a href=\"https:\/\/kinqsta.com\/fr\/blog\/qu-est-react-js\/\">React<\/a> <code>useEffect<\/code> est devenu une fonctionnalit\u00e9 populaire de la <a href=\"https:\/\/kinqsta.com\/fr\/blog\/bibliotheque-composants-react-ui\/\">biblioth\u00e8que React<\/a> depuis son introduction dans la version 16.8. Il permet aux d\u00e9veloppeurs d&rsquo;effectuer des effets de bord tels que la <a href=\"https:\/\/kinqsta.com\/fr\/blog\/graphql-vs-rest\/\">r\u00e9cup\u00e9ration de donn\u00e9es<\/a>, la mise \u00e0 jour du DOM et l&rsquo;abonnement \u00e0 des \u00e9v\u00e8nements \u00e0 l&rsquo;int\u00e9rieur de composants fonctionnels.<\/p>\n<p>Cependant, l&rsquo;utilisation du hook <code>useEffect<\/code> peut parfois s&rsquo;av\u00e9rer d\u00e9licate. Une erreur courante que les d\u00e9veloppeurs rencontrent est la suivante : \u00ab Le hook React useEffect a une d\u00e9pendance manquante. Int\u00e9grez-la ou supprimez le tableau de d\u00e9pendances \u00bb.<\/p>\n<p>Dans cet article, nous allons discuter des causes de cette erreur et fournir diverses solutions pour la corriger.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Quelles sont les causes de l&rsquo;erreur \u00ab React Hook useEffect Has a Missing Dependency \u00bb ?<\/h2>\n<p>L&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb se produit lorsque le Hook <code>useEffect<\/code> a un tableau de d\u00e9pendances incomplet ou manquant.<\/p>\n<p>Le tableau de d\u00e9pendance est le deuxi\u00e8me argument du hook <code>useEffect<\/code> et est utilis\u00e9 pour sp\u00e9cifier les variables dont d\u00e9pend l&rsquo;effet. Cela signifie que lorsque l&rsquo;une des valeurs des variables sp\u00e9cifi\u00e9es dans le tableau de d\u00e9pendance change, l&rsquo;effet est r\u00e9-ex\u00e9cut\u00e9.<\/p>\n<p>Dans le cas o\u00f9 une variable dont d\u00e9pend l&rsquo;effet n&rsquo;est pas incluse dans le tableau de d\u00e9pendance, l&rsquo;effet peut ne pas \u00eatre r\u00e9-ex\u00e9cut\u00e9 lorsque la valeur change. Cela peut entrainer un comportement inattendu et des bogues dans votre application.<\/p>\n<p>Cette erreur n&rsquo;est pas une erreur React mais une erreur ESLint. <a href=\"https:\/\/www.npmjs.com\/package\/eslint-config-react-app\" target=\"_blank\" rel=\"noopener noreferrer\">ESLint<\/a> fournit une extension sp\u00e9cifique pour React, qui inclut un ensemble de r\u00e8gles con\u00e7ues pour aider les d\u00e9veloppeurs \u00e0 \u00e9crire un meilleur code React. L&rsquo;une de ces r\u00e8gles est la r\u00e8gle <code>\"react-hooks\/exhaustive-deps\"<\/code>, qui d\u00e9tecte l&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb.<\/p>\n<p>Prenons l&rsquo;exemple d&rsquo;un composant fonctionnel qui poss\u00e8de un \u00e9tat de comptage. Ce composant est \u00e9galement cens\u00e9 enregistrer un message avec la valeur de <code>count<\/code> dans la console chaque fois qu&rsquo;il change :<\/p>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from 'react';\n\nconst App = () =&gt; {\n  const [count, setCount] = useState(0);\n\n  useEffect(() =&gt; {\n    console.log(`You clicked ${count} times`);\n  }, []);\n\n  return (\n    &lt;div&gt;\n      &lt;h1&gt;Hello World&lt;\/h1&gt;\n      &lt;p&gt;Count: {count}&lt;\/p&gt;\n      &lt;button onClick={() =&gt; setCount(count + 1)}&gt;Increment&lt;\/button&gt;\n    &lt;\/div&gt;\n  );\n};\n\nexport default App;<\/code><\/pre>\n<p>Dans l&rsquo;exemple ci-dessus, vous avez un composant fonctionnel qui utilise les crochets <code>useState<\/code> et <code>useEffect<\/code>. Le crochet <code>useEffect<\/code> est utilis\u00e9 pour enregistrer un message avec la valeur de la variable d&rsquo;\u00e9tat <code>count<\/code> chaque fois qu&rsquo;elle change.<\/p>\n<p>Cependant, remarquez que la variable <code>count<\/code> n&rsquo;est pas list\u00e9e dans le second tableau d&rsquo;arguments (tableau de d\u00e9pendances) du hook <code>useEffect<\/code>. Cela d\u00e9clenchera l&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2023\/03\/useeffect-dependency-error.jpg\" alt=\"Message d'erreur \"React Hook useEffect has a missing dependency\" (Le crochet React useEffect a une d\u00e9pendance manquante)\" width=\"1600\" height=\"201\"><figcaption class=\"wp-caption-text\">Message d&rsquo;erreur \u00ab\u00a0React Hook useEffect has a missing dependency\u00a0\u00bb (Le crochet React useEffect a une d\u00e9pendance manquante)<\/figcaption><\/figure>\n<h2>3 fa\u00e7ons de corriger l&rsquo;erreur \u00ab\u00a0React Hook useEffect Has a Missing Dependency\u00a0\u00bb (Le crochet React useEffect a une d\u00e9pendance manquante)<\/h2>\n<p>Cette erreur peut \u00eatre corrig\u00e9e de diff\u00e9rentes mani\u00e8res en fonction de l&rsquo;approche que vous souhaitez utiliser. Voici les diff\u00e9rentes mani\u00e8res.<\/p>\n<ul>\n<li>Inclure toutes les d\u00e9pendances manquantes<\/li>\n<li>Utilisez des crochets de m\u00e9morisation lorsque vous travaillez avec des objets et des fonctions<\/li>\n<li>D\u00e9sactiver la r\u00e8gle ESLint<\/li>\n<\/ul>\n<h3>1. Ajoutez la d\u00e9pendance manquante au tableau de d\u00e9pendances useEffect<\/h3>\n<p>La fa\u00e7on la plus simple de r\u00e9soudre cette erreur est d&rsquo;inclure toutes les d\u00e9pendances utilis\u00e9es dans le crochet <code>useEffect<\/code> dans le tableau de d\u00e9pendances. Vous pouvez alors vous demander comment reconna\u00eetre une d\u00e9pendance ?<\/p>\n<p>Pour identifier une d\u00e9pendance manquante, vous devez examiner les variables ou les valeurs utilis\u00e9es dans le crochet <code>useEffect<\/code>. Si l&rsquo;une de ces variables ou valeurs peut changer au fil du temps, elle doit \u00eatre incluse dans le tableau des d\u00e9pendances.<\/p>\n<p>Par exemple, dans l&rsquo;extrait de code fourni pr\u00e9c\u00e9demment, la variable <code>count<\/code> est utilis\u00e9e dans le crochet <code>useEffect<\/code>, mais elle n&rsquo;est pas incluse dans le tableau de d\u00e9pendance. Cela signifie que si la variable <code>count<\/code> change, le crochet <code>useEffect<\/code> ne sera pas r\u00e9ex\u00e9cut\u00e9 et le composant peut avoir des donn\u00e9es p\u00e9rim\u00e9es ou d&rsquo;autres probl\u00e8mes.<\/p>\n<p>Pour corriger cette erreur, nous pouvons ajouter la variable <code>count<\/code> au tableau des d\u00e9pendances, comme suit :<\/p>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from 'react';\n\nconst App = () =&gt; {\n  const [count, setCount] = useState(0);\n\n  useEffect(() =&gt; {\n    console.log(`You clicked ${count} times`);\n  }, [count]);\n\n  return (\n    &lt;div&gt;\n      &lt;h1&gt;Hello World&lt;\/h1&gt;\n      &lt;p&gt;Count: {count}&lt;\/p&gt;\n      &lt;button onClick={() =&gt; setCount(count + 1)}&gt;Increment&lt;\/button&gt;\n    &lt;\/div&gt;\n  );\n};\n\nexport default App;<\/code><\/pre>\n<p>En ajoutant la variable <code>count<\/code> au tableau de d\u00e9pendances, nous indiquons \u00e0 React de r\u00e9ex\u00e9cuter le hook <code>useEffect<\/code> chaque fois que la variable count change.<\/p>\n<p>Cela garantit que le composant dispose toujours de donn\u00e9es \u00e0 jour et \u00e9vite l&rsquo;erreur \u00ab\u00a0React Hook useEffect has a missing dependency\u00a0\u00bb (le crochet React useEffect a une d\u00e9pendance manquante).<\/p>\n<p>Si vous avez plus d&rsquo;une d\u00e9pendance, ajoutez-les dans le tableau de d\u00e9pendances et s\u00e9parez-les par une virgule :<\/p>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from 'react';\nconst App = () =&gt; {\n  const [firstName, setFirstName] = useState('');\n  const [lastName, setLastName] = useState('');\n  const [fullName, setFullName] = useState('');\n\n  useEffect(() =&gt; {\n    setFullName(`${firstName} ${lastName}`);\n  }, [firstName, lastName]);\n\n  const handleFirstNameChange = (event) =&gt; {\n    setFirstName(event.target.value);\n  };\n\n  const handleLastNameChange = (event) =&gt; {\n    setLastName(event.target.value);\n  };\n\n  return (\n    &lt;div&gt;\n      &lt;label&gt;\n        First Name:\n        &lt;input type=\"text\" value={firstName} onChange={handleFirstNameChange} \/&gt;\n      &lt;\/label&gt;\n      &lt;label&gt;\n        Last Name:\n        &lt;input type=\"text\" value={lastName} onChange={handleLastNameChange} \/&gt;\n      &lt;\/label&gt;\n      &lt;p&gt;Full Name: {fullName}&lt;\/p&gt;\n    &lt;\/div&gt;\n  );\n};\n\nexport default App;<\/code><\/pre>\n<h3>2. Travailler avec des objets et des fonctions<\/h3>\n<p>Lorsque vous travaillez avec des objets et des tableaux, il ne suffit pas de les ajouter \u00e0 votre tableau de d\u00e9pendances, vous devrez soit les m\u00e9moriser, soit les d\u00e9placer dans le hook <code>useEffect<\/code> ou en dehors du composant pour \u00e9viter les re-rendus inutiles.<\/p>\n<p>En effet, en <a href=\"https:\/\/kinqsta.com\/javascript\/\">JavaScript<\/a>, les objets et les tableaux sont compar\u00e9s par r\u00e9f\u00e9rence et pointent \u00e0 chaque fois vers un emplacement diff\u00e9rent dans la m\u00e9moire &#8211; leur valeur changera \u00e0 chaque rendu, ce qui entrainera une boucle de re-rendu infinie.<\/p>\n<p>Voici un exemple qui provoque l&rsquo;erreur :<\/p>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from 'react';\n\nconst App = () =&gt; {\n  const [user, setUser] = useState({});\n\n  \/\/ \ud83d\udc47\ufe0fthis will change on every render\n  let newUser = { name: 'Jane', age: 28 };\n\n  useEffect(() =&gt; {\n    setUser(newUser);\n  }, [newUser]);\n\n  return (\n    &lt;div&gt;\n      &lt;h1&gt;Hello World&lt;\/h1&gt;\n    &lt;\/div&gt;\n  );\n};\n\nexport default App;<\/code><\/pre>\n<p>Vous pouvez corriger cette erreur en d\u00e9pla\u00e7ant l&rsquo;objet dans le hook <code>useEffect<\/code> ou en le d\u00e9pla\u00e7ant en dehors du composant :<\/p>\n<pre><code class=\"language-jsx\">import { useState, useEffect } from 'react';\n\nconst App = () =&gt; {\n  const [user, setUser] = useState({});\n\n  useEffect(() =&gt; {\n    let newUser = { name: 'Jane', age: 28 };\n    setUser(newUser);\n  }, []);\n\n  return (\n    &lt;div&gt;\n      &lt;h1&gt;Hello World&lt;\/h1&gt;\n    &lt;\/div&gt;\n  );\n};\n\nexport default App;<\/code><\/pre>\n<p>Une meilleure fa\u00e7on de r\u00e9soudre ce probl\u00e8me est d&rsquo;utiliser des hooks de m\u00e9morisation comme <code>useMemo<\/code> pour votre objet et <code>useCallback<\/code> pour les fonctions. Cela vous aidera \u00e0 conserver l&rsquo;objet ou la fonction dans le composant et dans le tableau des d\u00e9pendances.<\/p>\n<p><strong>Remarque <\/strong>: les hooks de m\u00e9morisation sont un ensemble de hooks qui vous permettent de mettre en cache les r\u00e9sultats de calculs couteux et d&rsquo;\u00e9viter de les recalculer inutilement.<\/p>\n<p>Voici \u00e0 quoi ressemblera votre code lorsque vous utiliserez le hook <code>useMemo<\/code> pour m\u00e9moriser votre objet :<\/p>\n<pre><code class=\"language-jsx\">import { useState, useEffect, useMemo } from 'react';\n\nconst App = () =&gt; {\n  const [user, setUser] = useState({});\n\n  const newUser = useMemo(() =&gt; {\n    return { name: 'John', age: 30 };\n  }, []);\n\n  useEffect(() =&gt; {\n    setUser(newUser);\n  }, [newUser]);\n\n  return (\n    &lt;div&gt;\n      &lt;h1&gt;Hello World&lt;\/h1&gt;\n    &lt;\/div&gt;\n  );\n};\n\nexport default App;<\/code><\/pre>\n<p>De m\u00eame, lorsque vous travaillez avec des fonctions, vous pouvez utiliser le hook <code>useCallback<\/code>.<\/p>\n<h3>3. D\u00e9sactiver la r\u00e8gle ESLint<\/h3>\n<p>L&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb est une erreur d&rsquo;avertissement ESLint &#8211; ce qui signifie que nous pouvons d\u00e9sactiver la r\u00e8gle pour qu&rsquo;elle ne g\u00e9n\u00e8re pas l&rsquo;erreur. Cette approche n&rsquo;est pas recommand\u00e9e dans tous les cas, mais elle peut \u00eatre une solution rapide si vous \u00eates certain que la d\u00e9pendance manquante n&rsquo;est pas un probl\u00e8me.<\/p>\n<p>Pour ce faire, ajoutez le commentaire suivant avant la ligne du tableau de d\u00e9pendances.<\/p>\n<pre><code class=\"language-jsx\">\/\/ eslint-disable-next-line react-hooks\/exhaustive-deps<\/code><\/pre>\n<p>Voici un exemple :<\/p>\n<pre><code class=\"language-jsx\">useEffect(() =&gt; {\n  console.log(`You clicked ${count} times`);\n  \n\/\/ eslint-disable-next-line react-hooks\/exhaustive-deps\n}, []);<\/code><\/pre>\n<p>Il est important de noter que la d\u00e9sactivation de la r\u00e8gle ESLint peut entrainer d&rsquo;autres probl\u00e8mes \u00e0 l&rsquo;avenir si vous ne faites pas attention. Assurez-vous de bien comprendre les cons\u00e9quences de la d\u00e9sactivation d&rsquo;une r\u00e8gle avant de le faire et envisagez d&rsquo;autres solutions si possible.<\/p>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>L&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb est un probl\u00e8me courant rencontr\u00e9 par les <a href=\"https:\/\/kinqsta.com\/fr\/blog\/clone-application-chatgpt\/\">d\u00e9veloppeurs React<\/a> lorsqu&rsquo;ils travaillent avec le hook useEffect.<\/p>\n<p>Lorsque vous corrigez l&rsquo;erreur, il est important de consid\u00e9rer les meilleures m\u00e9thodes pour votre cas d&rsquo;utilisation sp\u00e9cifique. En g\u00e9n\u00e9ral, il est pr\u00e9f\u00e9rable d&rsquo;\u00e9viter de d\u00e9sactiver la r\u00e8gle ESLint \u00e0 l&rsquo;origine de l&rsquo;erreur, car cela peut entrainer d&rsquo;autres probl\u00e8mes \u00e0 l&rsquo;avenir. Essayez plut\u00f4t de r\u00e9soudre le probl\u00e8me en incluant la d\u00e9pendance manquante dans le tableau de d\u00e9pendances ou en utilisant le bon hook de m\u00e9morisation.<\/p>\n<p><em>\u00c0 vous de jouer : Avez-vous d\u00e9j\u00e0 rencontr\u00e9 ce probl\u00e8me ? Comment l&rsquo;avez-vous r\u00e9solu ? Y a-t-il d&rsquo;autres approches que vous avez utilis\u00e9es et qui ne sont pas abord\u00e9es dans cet article ? Faites-nous en part dans les commentaires !<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le hook React useEffect est devenu une fonctionnalit\u00e9 populaire de la biblioth\u00e8que React depuis son introduction dans la version 16.8. Il permet aux d\u00e9veloppeurs d&rsquo;effectuer des &#8230;<\/p>\n","protected":false},"author":287,"featured_media":76528,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1005,1004],"class_list":["post-76527","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-erreurs-react","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>Comment corriger l&#039;erreur \u00ab React Hook useEffect Has a Missing Dependency \u00bb ? - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Apprenez 3 fa\u00e7ons diff\u00e9rentes de corriger l&#039;erreur courante que rencontrent les d\u00e9veloppeurs, l&#039;erreur \u00ab React Hook useEffect has a missing dependency \u00bb.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment corriger l&#039;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb\" \/>\n<meta property=\"og:description\" content=\"Apprenez 3 fa\u00e7ons diff\u00e9rentes de corriger l&#039;erreur courante que rencontrent les d\u00e9veloppeurs, l&#039;erreur \u00ab React Hook useEffect has a missing dependency \u00bb.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/\" \/>\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=\"2024-03-13T11:12:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:42:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\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 3 fa\u00e7ons diff\u00e9rentes de corriger l&#039;erreur courante que rencontrent les d\u00e9veloppeurs, l&#039;erreur \u00ab React Hook useEffect has a missing dependency \u00bb.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.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=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Comment corriger l&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb\",\"datePublished\":\"2024-03-13T11:12:54+00:00\",\"dateModified\":\"2025-10-01T19:42:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/\"},\"wordCount\":1321,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/\",\"url\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/\",\"name\":\"Comment corriger l'erreur \u00ab React Hook useEffect Has a Missing Dependency \u00bb ? - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg\",\"datePublished\":\"2024-03-13T11:12:54+00:00\",\"dateModified\":\"2025-10-01T19:42:23+00:00\",\"description\":\"Apprenez 3 fa\u00e7ons diff\u00e9rentes de corriger l'erreur courante que rencontrent les d\u00e9veloppeurs, l'erreur \u00ab React Hook useEffect has a missing dependency \u00bb.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg\",\"contentUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg\",\"width\":3042,\"height\":1521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Erreurs React\",\"item\":\"https:\/\/kinqsta.com\/fr\/sujets\/erreurs-react\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comment corriger l&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#website\",\"url\":\"https:\/\/kinqsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.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:\/\/kinqsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.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:\/\/kinqsta.com\/fr\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Comment corriger l'erreur \u00ab React Hook useEffect Has a Missing Dependency \u00bb ? - Kinsta\u00ae","description":"Apprenez 3 fa\u00e7ons diff\u00e9rentes de corriger l'erreur courante que rencontrent les d\u00e9veloppeurs, l'erreur \u00ab React Hook useEffect has a missing dependency \u00bb.","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:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment corriger l'erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb","og_description":"Apprenez 3 fa\u00e7ons diff\u00e9rentes de corriger l'erreur courante que rencontrent les d\u00e9veloppeurs, l'erreur \u00ab React Hook useEffect has a missing dependency \u00bb.","og_url":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2024-03-13T11:12:54+00:00","article_modified_time":"2025-10-01T19:42:23+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg","type":"image\/jpeg"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Apprenez 3 fa\u00e7ons diff\u00e9rentes de corriger l'erreur courante que rencontrent les d\u00e9veloppeurs, l'erreur \u00ab React Hook useEffect has a missing dependency \u00bb.","twitter_image":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Joel Olawanle","Dur\u00e9e de lecture estim\u00e9e":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Comment corriger l&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb","datePublished":"2024-03-13T11:12:54+00:00","dateModified":"2025-10-01T19:42:23+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/"},"wordCount":1321,"commentCount":0,"publisher":{"@id":"https:\/\/kinqsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg","inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/","url":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/","name":"Comment corriger l'erreur \u00ab React Hook useEffect Has a Missing Dependency \u00bb ? - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinqsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg","datePublished":"2024-03-13T11:12:54+00:00","dateModified":"2025-10-01T19:42:23+00:00","description":"Apprenez 3 fa\u00e7ons diff\u00e9rentes de corriger l'erreur courante que rencontrent les d\u00e9veloppeurs, l'erreur \u00ab React Hook useEffect has a missing dependency \u00bb.","breadcrumb":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#primaryimage","url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg","contentUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/03\/react-hook-useeffect-has-a-missing-dependency.jpg","width":3042,"height":1521},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/fr\/blog\/react-hook-useeffect-has-a-missing-dependency\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Erreurs React","item":"https:\/\/kinqsta.com\/fr\/sujets\/erreurs-react\/"},{"@type":"ListItem","position":3,"name":"Comment corriger l&rsquo;erreur \u00ab Le hook React useEffect a une d\u00e9pendance manquante \u00bb"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/fr\/#website","url":"https:\/\/kinqsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinqsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.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:\/\/kinqsta.com\/fr\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.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:\/\/kinqsta.com\/fr\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/76527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/comments?post=76527"}],"version-history":[{"count":6,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/76527\/revisions"}],"predecessor-version":[{"id":76595,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/76527\/revisions\/76595"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/translations\/es"},{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76527\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/media\/76528"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/media?parent=76527"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/tags?post=76527"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/topic?post=76527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}