[英]Are there any document storages on react native?
您可以在PouchDB中使用asyncstorage-down 。 通常在Node.js中使用LevelDOWN適配器的方法如下:
var PouchDB = require('pouchdb');
var db = new PouchDB('mydb', {db: require('asyncstorage-down')})
不過,我沒有測試過這個。
編輯:幸運的你; 最近有很多工作要做 : pouchdb-async-storage 。 很快就會有關於如何實現這一目標的博客文章。
PouchDB是為瀏覽器構建的,所以它可能只需要很少的努力就可以在React Native上運行。
我嘗試使用Stockulus的異步存儲適配器( https://github.com/stockulus/pouchdb-react-native ),但是在復制到遠程CouchDB服務器時出現問題。
現在我使用React原生SQLite存儲( https://github.com/andpor/react-native-sqlite-storage )和PouchDB自定義構建模式( https://pouchdb.com/2016/06/06/introducing- pouchdb-custom-builds.html )像這樣:
'use strict';
import PouchDB from 'pouchdb-core'
// POLYFILLS - adapted from https://github.com/pouchdb/pouchdb/issues/3787#issuecomment-234618747
global.Buffer = global.Buffer || require('buffer').Buffer;
global.atob = global.atob || require('atob');
global.btoa = global.btoa || require('btoa');
require('blob-polyfill');
import SQLite from 'react-native-sqlite-storage';
global.openDatabase = SQLite.openDatabase; // Expose for websql adapter
GLOBAL.openDatabase = SQLite.openDatabase;
PouchDB
.plugin(require('pouchdb-adapter-websql'))
.plugin(require('pouchdb-adapter-http'))
.plugin(require('pouchdb-replication'))
export default PouchDB
我知道全球是丑陋的。 我們剛開始使用它,復制工作得更好。 我們還必須填充一堆節點內容。 這由pouchdb-core使用,但未在pouchdb-core中指定為依賴項。 會喜歡反饋。
目前使用這些包:
"events": "^1.1.1",
"pouchdb-adapter-http": "6.0.6",
"pouchdb-adapter-websql": "6.0.6",
"pouchdb-core": "6.0.6",
"pouchdb-replication": "6.0.6",
"atob": "^2.0.3",
"blob-polyfill": "^1.0.20150320",
"btoa": "^1.1.2",
"buffer": "^5.0.0",
謝謝
您可以在SQLLite上輕松實現PouchDB - 它有多種配置選擇。 您可能需要一個SQLite插件才能使其正常工作。 事實上,我已經為Cordova做過這件事,而且效果很好。 我相信PouchDB(它是純JavaScript,因此可以用於ReactNative的開箱即用)有一個適用於全功能SQLite3插件的適配器。
這個插件的React Native版本可以在這里找到:
https://github.com/andpor/react-native-sqlite-storage
原始的Cordova插件鏈接也可以在項目github上找到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.