Como Usar INTL No React Native

Estava desenvolvendo um aplicativo com React Native e em determinado momento, precisava fazer a conversão de um valor para real (dinheiro, R$)
Como estou acostumado em desenvolver web, logo pensei no Intl, fazendo o seguinte:

1
2
3
4
5
export const convertPriceForReal = (number) => {
return new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(
number
);
};

Quando fui testar no aplicativo, o que acontece? Tomo um erro que antes não tinha visto:

Can’t find variable Intl

Para resolver esse erro, basta fazer os passos (considerando que você está no React Native v0.60+):

No seu arquivo: app/build.gradle, alterar de org.webkit:android-jsc:+ para:

1
def jscFlavor = 'org.webkit:android-jsc-intl:+'

E verifica, neste mesmo arquivo, se está implementado em suas dependências, como mostro abaixo:

1
2
3
4
5
6
7
8
dependencies {
...
if (enableHermes) {
...
} else {
implementation jscFlavor
}
}

Com isso, é para funcionar tudo certinho! :)