Programmation JavaScript/Erreurs connues

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche


Vanilla JS[modifier | modifier le wikicode]

addOnloadHook is not defined[modifier | modifier le wikicode]

La fonction doit être chargée sans addOnloadHook().

missing ) after argument list[modifier | modifier le wikicode]

Peut provenir d'un littéral qui n'est pas entre guillemets.

ReferenceError: invalid assignment left-hand side[modifier | modifier le wikicode]

Un attribut est redéfini avec le mauvais opérateur, par exemple :

// Remplacer "$('#champ1').val() = '1';" par :
$('#champ1').attr('value', '1');

// ou "$('#URL1').attr('href') = 'https://fr.wikibooks.org';" par :
$('#URL1').attr('href', 'https://fr.wikibooks.org');

jQuery[modifier | modifier le wikicode]

$ is not defined[modifier | modifier le wikicode]

jQuery n'est pas importé, ou alors pas dans le bloc "head".

npm[modifier | modifier le wikicode]

ERR! Maximum call stack size exceeded ou ERR! code EBUSY[modifier | modifier le wikicode]

Lors d'un npm install, il faut alors lancer npm rebuild. Si cela ne fonctionne pas, fermer les programmes qui lisent ce code (ex : IDE) et lancer : npm cache clean --force; npm install. Sinon, mettre à jour Node.

EBUSY resource busy or locked[modifier | modifier le wikicode]

Exclure le dossier des scans antivirus et antimalware.

React[modifier | modifier le wikicode]

Uncaught TypeError: react__WEBPACK_IMPORTED_MODULE_0___default() is not a function[modifier | modifier le wikicode]

Se produit quand on importe un module inexistant. Pour importer une fonction seulement, utiliser la syntaxe avec accolade. Ex :

import React, { useEffect } from 'react'

Can't perform a React state update on an unmounted component[modifier | modifier le wikicode]

Cette erreur se produit quand le composant n'est plus présent dans la page, mais que son état est mis à jour par la conclusion d'une opération asynchrone (Promise, timer, évènement...).

Pour ne plus avoir ce message, il faut libérer les ressources (timer, annuler les requêtes en cours...) dans la fonction retournée dans le code d'un useEffect, et gérer un booléen mis à jour pour connaître l'état du composant au début des callbacks pour ne pas effectuer le traitement si le composant n'est plus monté.