javascript - 在 React 中从 WatermelonDB 中获取数据

标签 javascript database reactjs react-native

我正在使用 WatermelonDB 作为我的应用程序的本地数据库。 我在类 AccessDB 中有一个方法 getPlaces():

static async getPlaces() {
        const postsCollection = database.collections.get('places');
        const allPosts = await postsCollection.query().fetch();
        return allPosts;
}

调用 getPlaces() 使用 AccessDB.getPlaces() 异步和等待工作。如何获取与查询匹配的结果?

最佳答案

变量 allPosts 是一个包含所有 places 的数组。因此,要访问地点的属性,您可以在不同的类中进行:

import AccessDB from './AccessDB';

然后在某处例如

(async () => {
    try {
        const places = await AccessDB.getPlaces();

        var buffer = '';
        for (place in places) {
            buffer += places[place].name + '\n'
        }
        console.log(buffer)
    } catch(e) {console.log(e)}
})()

使用 console.log 进行调试时必须小心,因为

1) 如果一个接一个快速执行,console.log 会跳过输出,例如如果您在上面的 for 循环中每次都 console.log places[place].name

2) 如果您使用console.log(places),您会看到与您使用console.log(database) 相同的内容,这非常令人困惑。您会期望看到 [Object object]、[Object object]...,这是您在使用 alert(places) 时看到的。

关于javascript - 在 React 中从 WatermelonDB 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54853755/

相关文章:

javascript - 如何创建一个在单击时在两个值之间翻转的元素?

python - 两个表之间的onetoone数据库关系?

javascript - 使用扩展运算符作为参数

javascript - 是否可以在 React 中检查和/或更改绑定(bind)变量的值?

javascript - 如何在 tabulator.info 网格的一列中显示多个字段

mysql - 相关视频 数据库表结构

database - 哪个先到 : database or application logic?

javascript - 循环遍历一个集合,其中键是 ID,值是用户类别

javascript - 获取数组中的数据

javascript - Jquery结合点击和更改