我收到此错误:
超级表达式必须为null或函数
在以下代码段中:
import SQLite from 'react-native-sqlite-storage';
const DB = SQLite.openDatabase('Data.db');
class Database {
db;
constructor(db) {
this.db = db;
}
executeSql = (sql, params = []) =>
new Promise((resolve, reject) => {
this.db.transaction((trans) => {
trans.executeSql(
sql,
params,
(db, results) => {
resolve(results);
},
(error) => {
reject(error);
}
);
});
});
}
export default new Database(DB);
import Database from '../db';
export class Note extends Database {
constructor() {
super();
}
all = () => async() => {
console.log('all');
const result = await DB.executeSql('Notes', ['params']);
console.log('result', result);
};
}
export default new Note();
我的错误在哪里,如何解决这个问题?
答案 0 :(得分:0)
您的错误是您试图创建扩展另一个类(Note
)的类(Database
),但是第二个文件中导入的Database
对象是不是类,而是实例化的Class对象。
您不需要扩展数据库(并且您不必扩展,因为它不是类)。您只需要直接导入并使用该方法即可。
import Database from '../db';
export class Note {
constructor() {
}
all = () => async() => {
console.log('all');
const result = await Database.executeSql('Notes', ['params']);
console.log('result', result);
};
}
export default new Note();