我是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');
};
}
我收到未定义的错误不是函数(评估'_Queries2.default.getAllExpenses()')
我做错了吗?您的帮助我将非常高兴。
最佳答案
看来您正在尝试直接在类而不是类的实例上调用getAllExpenses
方法。
您应该更改export语句以实例化类:export default new Queries
(并将类定义本身移到export语句上方),或者如果您想将类更像命名空间一样使用,则可以将方法标记为static
。