Dans la version 33 de l'expo sdk, sqlite a été déplacé vers son propre package, expo-sqlite, et maintenant je ne peux pas charger les types.
Au lieu de
Cannot find namespace 'SQLite'.
3 Réponses :
Vous ne semblez pas avoir téléchargé le module. Installez le module et appliquez-le.
npm install expo-sqlite
J'ai installé le module. Le code s'exécute, il n'est tout simplement pas tapé correctement
@Daniel Vous pouvez essayer npm install
La méthode indiquée dans le hub de drapeau doit être npm
.
J'ai rencontré le même problème et créé un fichier de déclaration de type qui a résolu le problème pour moi.
https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html
J'ai copié les déclarations de ce package https://www.npmjs.com/package/@types/expo
Il s'agit de la déclaration https : //github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/expo/v31/index.d.ts#L2467
Mon projet a maintenant un expo-sqlite .d.ts
dans le dossier src
qui ressemble à
declare module 'expo-sqlite' { export namespace SQLite { type Error = any; interface Database { transaction( callback: (transaction: Transaction) => any, error?: (error: Error) => any, // TODO def of error success?: () => any ): void; } interface Transaction { executeSql( sqlStatement: string, arguments?: string[] | number[], success?: (transaction: Transaction, resultSet: ResultSet) => any, error?: (transaction: Transaction, error: Error) => any ): void; } interface ResultSet { insertId: number; rowAffected: number; rows: { length: number; item: (index: number) => any; _array: HashMap[]; }; } function openDatabase( name: | string | { name: string; version?: string; description?: string; size?: number; callback?: () => any; }, version?: string, description?: string, size?: number, callback?: () => any ): any; } }
Des types manquaient dans le package expo-sqlite. J'ai ouvert un problème sur la page GitHub d'Expo, et le problème a été résolu.
Problème GitHub: https://github.com/expo/expo/issues/5264 < / a>
Demande d'extraction Github: https://github.com/expo/expo/pull/5544