我是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

09-30 17:18