pouch-redux

2.1.0 • Public • Published

pouch-redux

A set of helpers to ease the integration between PouchDB (and therefore CouchDB) and Redux that forces you to be in control of your actions using promises.

WIP WIP WIP.

Pre-requisites

Your redux store must use the thunk and promise middlewares.

What does it give me?

Not much. Just a set of helpers to ease the binding.

pouch reducer

TODO

wall

TODO

// wall sample
import { connect } from 'react-redux';
import { load } from './actions';
import Authenticate from '../user/authenticate';
import knockKnockGo from 'panels/knock-knock-go';
import React from 'react';
 
function mapStateToProps(state, props) {
  return state.pouch;
}
 
export default function pouchWall(ProtectedComponent) {
  const PouchWall = props => (
    props.isReady && props.auth.isReady ?
      <ProtectedComponent {...props} /> :
      <Authenticate {...props} />
  );
 
  const KnockKnockPouchWall = knockKnockGo(
    props => props.isLoading,
    props => props.error,
    PouchWall,
    props => !(props.isLoading || props.isReady || props.error) && props.dispatch(load())
  );
 
  return connect(mapStateToProps)(KnockKnockPouchWall);
}

auth

TODO Redux understands actions and reducers. At UXtemple, we generally use it with React. In pouch-redux/auth you will find a login and a logout action, a reducer that understands them and a component to deal with login.

Here's a great read on handling authentication when you want to still go for an offline-first approach that works with a remote.

Why?

After working with redux-pouch for a while I got to the point in which the middleware, instead of making things easier, just got on my way and didn't let me do more advanced stuff.

Readme

Keywords

Package Sidebar

Install

npm i pouch-redux

Weekly Downloads

1

Version

2.1.0

License

MIT

Last publish

Collaborators

  • dariocravero