使用PouchDB来实现React离线应用】的更多相关文章

最近听到有同学在讨论关于数据上传遇到离线的问题,因此在这里介绍一下PouchDB. PouchDB 是一个开源的javascript数据库,他的设计借鉴于Apache CouchDB,我们可以使用他来打造浏览器的离线应用. 如果你要使用PouchDB,那么建议你的远程数据库使用CouchDB,那样的话可以更好地协调起来. 建立数据库 const localDB = new PouchDB('docs'); const remoteDB = new PouchDB('http://localhos…
代码地址如下:http://www.demodashi.com/demo/12052.html MyReader 绿色版电子书阅读器 在线地址:http://myreader.linxins.com 手机扫码体验: 目录索引 store的设计与实现 阅读器 书架 effects 的逻辑处理 获取书源 章节列表 & 章节内容 换源实现 切换章节 离线下载 本地存储 redux-persist UI部分 首页 阅读器 换肤 删除实现 优化 移动端优化 CSS fetch-polyfill fastc…
1.为什么要离线缓存? 宏观上来说: 提升用户体验: 我们要为用户提供流畅的APP操作体验,但我们无法保证所有用户的网络流畅度是好的,所以我们需要离线缓存来提升用户体验. 节省流量: 节省流量又分为两个层次: - 节省服务器流量 - 节省用户手机的流量 2.离线缓存的策略 a. 优先从本地获取数据,如果数据过时或不存在则从服务器获取数据,数据返回后同时将数据同步到本地数据库 b. 优先从服务器获取数据,数据返回后同时将数据同步到本地数据库,如果网络故障则从本地获取数据 c. 同时从本地和服务器获…
/* * 参数 * db: 已建或未建数据库 * pouchId: 数据库唯一的主键_id * src: 图片img的DOM对象 * bg: 判断是否是背景图 * */ function addTodo(db, pouchId,src,bg) { // 查询数据库中是否有该文档 根据主键pouchId查询 db.get(pouchId).then(function(doc) { return db.put({ // 如有该文档 则更新版本号_rev _id: pouchId, _rev: doc…
1.首先说说我老姜对官方提供的demo的理解, 在理解的过程也学到了不少知识. 上图(图0)展示的官网demo的目录结构,node_modules是自己用node下载的, iconfont中是自己的离线图标这里不赘述,里面demo.*的都可以删除,那是给的样例,关于webpack基本配置的文件的知识客官你去百度就好,custom中是对图标路径变量的重新赋值,注意顺序, index.less是对ant样式文件的引用和变量文件的引用,没错这个可以和变量文件合并,到这已经对图标访问实现本地化了,只要…
请求数据=>本地有无缓存+缓存数据是否过期 =>可用 =>不可用 将代码封装成一个DataStore.js文件, 这里面主要提供:从本地获取数据,从网络获取数据,创建本地时间戳,请求数据入口 import {AsyncStorage} from 'react-native'; export default class DataStore{ // 保存数据 saveData(url,data,callback){ if(!data || !url) return; AsyncStorage…
上周末开始接触react native,版本为0.37,边学边看写了个demo,语法使用es6/7和jsx.准备分享一下这个过程.之前没有native开发和react的使用经验,不对之处烦请指出.希望对在web开发有一定基础,想涉及app开发的同学有帮助,共同进步. 一.环境安装 首先是开发环境安装,我是在win7/8 64位环境下安装的安卓环境.模拟器用的是android studio自带模拟器(android emulator),安卓API 24(7.0),因为我没有mac -.-.文中组件…
如同黑夜里的一道光一样,就这么知道了F8. F8是每年一次Facebook每年一次的开发者大会.每次大会都会release相应的APP,iOS.Android都有.之前都是用Native开发的,但是2016的这一次是用React Native开发的. FB开源了RN的App 这次fb不仅开源了纯RN写的App,而且一同发布的还有开发这个App的教程.FB承诺会不断的更新这个app.教程放在make it open.不幸的是这个站点居然被墙了!!!技术博也能被墙,心中跑过一万个草泥马!!!F8的A…
  使用 React.js 的渐进式 Web 应用程序:第 1 部分 - 介绍 使用 React.js 的渐进式 Web 应用程序:第 1 部分 - 介绍 来自译者 markzhai:大家也知道最近 Web 越来越火了,如果你还以为 Web 就是 jQuery.Ajax.CSS 什么的,那你就 out 了.给大家几个链接看一看吧: https://shop.polymer-project.org/ https://housing.com/ https://www.flipkart.com/ ht…
PouchDB是一个开源的JavaScript数据库,可以运行在浏览器中.PouchDB的数据存储.处理方式受到了Apache CouchDB的启发(CouchDB是一个面向文档的数据库,可通过JavaScript以MapReduce的方式对数据进行查询和索引,同时还提供增量复制的双向冲突检测和解决方案). PouchDB项目的目标是帮助开发者构建线上和线下都能很好地使用的Web应用程序: 在应用程序离线的时候,可以将用户数据保存在本地: 当恢复在线状态时,通过CouchDB和其他相兼容的服务器…