用于数据库访问的可重用函数

Posted

技术标签:

【中文标题】用于数据库访问的可重用函数【英文标题】:Reusable function for database access 【发布时间】:2016-04-13 21:05:01 【问题描述】:

我目前正在发现并学习使用 react native 开发应用程序 我没有太多关于 JS/React 等的背景知识(更习惯于 C、java、objC、swift 等)

所以我正在转换我在 RN 中快速制作的学习应用程序。我使用了移动数据库领域。我有创建一个单例类来访问我在不同地方使用的一些方法的习惯。

这是我在 RN 中的做法 我得到了一个类似 RealmApi 的 js 文件

let realm = new Realm(
path : "Pleload.realm",
readOnly : true,
schema : [Data, SUBDATA]
);

假设我正在导出 2 个方法,因为我无法导出领域 var(我没有创建类)

module.exports = 
fetchData()..... return something
fetchSubData(param).... return something

我在列表视图中这样使用

    import RealmAPI from './RealmAPI'
    .....
    componentWillMount()
        this.setState(
           dataSource:this.state.dataSource.cloneWithRows(RealmApi.fetchSbuData(this.props.section.code)),
    )

它正在工作,但我觉得这不是很好的方法。我以对象方式(java等)进行风格思考

“正确”的做法是什么?我应该在每个组件中创建领域并复制方法吗? (这就是我试图避免的原因)

谢谢

【问题讨论】:

【参考方案1】:

您应该能够导出领域变量。语法如下

let realm = new Realm(
    path : "Pleload.realm",
    readOnly : true,
    schema : [Data, SUBDATA]
);
export default realm;

并如下使用它

   import MyRealm from '<file path to the above code>

【讨论】:

以上是关于用于数据库访问的可重用函数的主要内容,如果未能解决你的问题,请参考以下文章

如何以可在绑定中访问的可重用方式修改 NSManagedObject 类的行为?

每日分享

如何制作可用于可查询的可重用条件? [复制]

声明数据成员之前成员函数中数据成员的可访问性

继承与派生

React 中的可重用组件