React Native:<string> .matchAllは関数ではありません
Nov 20 2020
React Nativeアプリを実行すると、奇妙なエラーが発生します。
いくつかのサンプルコード:
const { url } = <incoming object>;
const reURL = <my regex>;
console.debug('url:', url);
console.debug('typeof url:', typeof url);
matches = [...url.matchAll(reURL)];
ログ出力:
url: <as expected>
typeof url: string
エラーメッセージ:
TypeError: url.matchAll is not a function. (In 'url.matchAll(reURL)', 'url.matchAll' is undefined)
iOSではすべて正常に動作します。エラーはAndroidでのみ発生します。
かなり最新の環境でnpm
、数日前にすべてのパッケージを更新しました。
誰かが解決策を探し始める場所さえ少しでも考えていますか?
回答
NguyễnThịThúy Nov 27 2020 at 08:17
同じ問題があります。String.matchAll
Androidでは機能しません。match
代わりにを使用する必要がありますmatchAll
。
例:
const regex = new RegExp(text, 'ig');
const arr = string.match(regex);
配列一致の正規表現を取得します