React Native: <string> .matchAll nie jest funkcją
Nov 20 2020
Podczas uruchamiania mojej aplikacji React Native pojawia się dziwny błąd:
Przykładowy kod:
const { url } = <incoming object>;
const reURL = <my regex>;
console.debug('url:', url);
console.debug('typeof url:', typeof url);
matches = [...url.matchAll(reURL)];
Wyjście dziennika:
url: <as expected>
typeof url: string
Komunikat o błędzie:
TypeError: url.matchAll is not a function. (In 'url.matchAll(reURL)', 'url.matchAll' is undefined)
Wszystko działa dobrze na iOS, błąd występuje tylko na Androidzie.
Całkiem aktualne środowisko, zaktualizowałem wszystkie npm
pakiety kilka dni temu.
Czy ktoś ma najmniejsze pojęcie, od czego w ogóle zacząć szukać rozwiązania?
Odpowiedzi
NguyễnThịThúy Nov 27 2020 at 08:17
Mam ten sam problem. String.matchAll
nie działa na Androida. Należy użyć match
zamiast matchAll
.
Przykład:
const regex = new RegExp(text, 'ig');
const arr = string.match(regex);
Otrzymasz wyrażenie regularne odpowiadające tablicy