A nova arquitetura do React Native trouxe mudanças significativas, incluindo a remoção do Babel, que era essencial para integrar o WatermelonDB devido ao uso de decorators. Felizmente, o TypeScript agora pode resolver essa questão de forma eficiente.
Neste artigo, você aprenderá como configurar o WatermelonDB em um projeto React Native 0.76 com Expo 52, incluindo as etapas necessárias para lidar com as alterações recentes na arquitetura do react native e no autolinking do expo.
Pré-requisitos
Antes de começar, certifique-se de ter um projeto React Native criado com Expo, utilizando as versões mais recentes do framework e suas dependências.
Se você estiver utilizando o Expo Go, será necessário desativar a New Architecture e realizar o prebuild para acessar as pastas nativas (android e ios).
1. Desativando a New Architecture
No arquivo app.json, remova a seguinte linha:
"newArchEnabled": true, Em seguida, execute o comando abaixo no terminal:
npx expo prebuild Instalando o WatermelonDB
Agora, instale a biblioteca WatermelonDB:
npm install @nozbe/watermelondb Configuração no iOS
- Acesse a pasta
iosdo seu projeto e abra o arquivoPodfile. - Adicione a seguinte dependência:
pod 'simdjson', path: '../node_modules/@nozbe/simdjson', modular_headers: true - No terminal, dentro da pasta
ios, execute:
pod install Pronto! Não há necessidade de instalar o @babel/plugin-proposal-decorators, como sugerido na documentação oficial.
Configuração no Android
Devido às mudanças no autolinking do Expo para Android, algumas configurações adicionais são necessárias:
- No arquivo
package.json, altere o scriptandroidpara incluir a variável de ambienteEXPO_USE_COMMUNITY_AUTOLINKING=1. Ele deve ficar assim:
"android": "EXPO_USE_COMMUNITY_AUTOLINKING=1 expo run:android", - Instale a biblioteca
@react-native-community/cli:
npm install @react-native-community/cli Habilitando os Decorators no TypeScript
Como alternativa ao plugin de decorators do Babel, usaremos o suporte nativo do TypeScript. No arquivo tsconfig.json, adicione a opção experimentalDecorators em compilerOptions:
"compilerOptions": { "experimentalDecorators": true, }, Finalizando
Após essas configurações, o WatermelonDB deve estar funcionando corretamente no seu projeto!
Com este guia, você pode aproveitar todos os benefícios do WatermelonDB sem se preocupar com problemas de compatibilidade com a nova arquitetura do React Native. 🚀
Top comments (1)
eu to usando expo com eas development build e não estou conseguindo