我是React-Native的新手,我使用Realm作为我的数据库。我试图创建一个包含所有领域查询的类,我将在我的组件中使用它。 Today.js 和 Queries.js 位于同一文件夹中。我在Today.js上有这个
import Queries from './Queries'
componentDidMount() {
this._isMounted = true;
let a = Queries.getAllExpenses();
}
这就是我在 Queries.js 上的内容。
import Realm from 'realm'
let realm = new Realm({
schema:
[
{
name: 'Expenses',
properties:
{
id: 'int',
value: 'int',
category: 'string',
description: 'string',
date: 'string',
}
},
{
name: 'Categories',
properties:
{
id: 'int',
name: 'string',
}
},
]
})
export default class Queries {
getAllExpenses() {
let data = realm.objects('Expenses');
let allExpenses = [];
let i=0;
for (; i <= data.length; i++) {
allExpenses.push(data[i]);
}
return allExpenses;
}
getAllCategories() {
return realm.objects('Categories');
};
}
我收到错误 undefined不是一个函数(评估&#39; _Queries2.default.getAllExpenses()&#39;) 我做错了吗?我很乐意为你提供帮助。
答案 0 :(得分:1)
看起来你试图直接在类上调用getAllExpenses
方法,而不是在类的实例上。
您应该更改导出语句以实例化类:export default new Queries
(并将类定义本身移动到导出语句之上),或者如果要使用,则可以将方法标记为static
你的类更像是命名空间。