React Native: <string> .matchAll n'est pas une fonction
Nov 20 2020
J'obtiens une erreur étrange lors de l'exécution de mon application React Native:
Quelques exemples de code:
const { url } = <incoming object>;
const reURL = <my regex>;
console.debug('url:', url);
console.debug('typeof url:', typeof url);
matches = [...url.matchAll(reURL)];
Sortie du journal:
url: <as expected>
typeof url: string
Message d'erreur:
TypeError: url.matchAll is not a function. (In 'url.matchAll(reURL)', 'url.matchAll' is undefined)
Tout fonctionne bien sur iOS, l'erreur ne se produit que sur Android.
Environnement assez à jour, mis à jour tous les npm
packages il y a quelques jours.
Quelqu'un a-t-il la moindre idée par où commencer à chercher une solution?
Réponses
NguyễnThịThúy Nov 27 2020 at 08:17
J'ai le même problème. String.matchAll
ne fonctionne pas pour Android. Vous devriez utiliser à la match
place matchAll
.
Exemple:
const regex = new RegExp(text, 'ig');
const arr = string.match(regex);
Vous obtiendrez un tableau de correspondance regex