React Native: <string> .matchAll bir işlev değil

Nov 20 2020

React Native uygulamamı çalıştırırken garip bir hata alıyorum:

Bazı örnek kodlar:

const { url } = <incoming object>;
const reURL   = <my regex>;

console.debug('url:', url);
console.debug('typeof url:', typeof url);

matches = [...url.matchAll(reURL)];

Günlük çıktısı:

url: <as expected>
typeof url: string

Hata mesajı:

TypeError: url.matchAll is not a function. (In 'url.matchAll(reURL)', 'url.matchAll' is undefined)

Her şey iOS'ta iyi çalışıyor, hata yalnızca Android'de ortaya çıkıyor.

Oldukça güncel bir ortam, tüm npmpaketleri birkaç gün önce güncelledi .

Bir çözüm aramaya nereden başlayacağına dair en ufak bir fikri olan var mı?

Yanıtlar

NguyễnThịThúy Nov 27 2020 at 08:17

Bende de aynı sorun var. String.matchAllAndroid için çalışmaz. Bunun matchyerine kullanmalısınız matchAll.

Misal:

const regex = new RegExp(text, 'ig');
const arr = string.match(regex);

Bir dizi eşleme normal ifadesi alacaksınız