Typescript 打字脚本+;react原生sqlite存储=>;错误TS2304:找不到名称';交易';
我正在通过使用SQLite并尝试使用TypeScript 但是TypeScript找不到某些类型。导致故障的代码:Typescript 打字脚本+;react原生sqlite存储=>;错误TS2304:找不到名称';交易';,typescript,react-native,Typescript,React Native,我正在通过使用SQLite并尝试使用TypeScript 但是TypeScript找不到某些类型。导致故障的代码: db.transaction((tx: Transaction) => { tx.executeSql('SELECT * FROM movies', [], (tx: Transaction, results: ResultSet) => { console.log("Query completed"); }); }); 键入脚本错误: $ ./no
db.transaction((tx: Transaction) => {
tx.executeSql('SELECT * FROM movies', [], (tx: Transaction, results: ResultSet) => {
console.log("Query completed");
});
});
键入脚本错误:
$ ./node_modules/.bin/tsc --alwaysStrict --skipLibCheck
App.tsx:18:24 - error TS2304: Cannot find name 'Transaction'.
18 db.transaction((tx: Transaction) => {
~~~~~~~~~~~
App.tsx:19:54 - error TS2304: Cannot find name 'Transaction'.
19 tx.executeSql('SELECT * FROM movies', [], (tx: Transaction, results: ResultSet) => {
~~~~~~~~~~~
App.tsx:19:76 - error TS2304: Cannot find name 'ResultSet'.
19 tx.executeSql('SELECT * FROM movies', [], (tx: Transaction, results: ResultSet) => {
~~~~~~~~~
这很疯狂,因为定义了事务
接口,所以应该找到它。可以正确找到react原生sqlite存储提供的其他函数的类型
发生了什么事?如何从同一类型文件中找到某些类型和其他类型?
为了重现此问题,我的所有项目文件都是。缺少的类型是
react native sqlite storage
模块的成员,并且您已经以sqlite
的名称导入了整个模块:
import SQLite from 'react-native-sqlite-storage'
因此,您必须对以下类型进行限定:
db.transaction((tx: SQLite.Transaction) => {
tx.executeSql('SELECT * FROM movies', [], (tx: SQLite.Transaction, results: SQLite.ResultSet) => {
console.log("Query completed");
});
});
就像你对SQLite.openDatabase的要求一样,谢谢。我应该想到的。。。我是TypeScript新手,在教程中没有看到名称空间的内容。