簡體   English   中英

本機上是否存在任何文件存儲?

[英]Are there any document storages on react native?

有類似於PouchDB的東西會很棒。

當前的鍵值存儲( AsyncStorage )絕對不足以存儲和查詢數據。

您可以在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上運行。

你看過https://github.com/almost/react-native-sqlite嗎?

我有一些問題讓PouchDB在react-native上運行,但不想安裝SQLLite。 所以我構建了一個異步存儲適配器。

GitHub npm

它為React +填充了缺少的包。添加了基於“asyncstorage-down”的異步存儲適配器。 適當的幫助。

我嘗試使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM