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.

/pouch-redux/

    Package Sidebar

    Install

    npm i pouch-redux

    Weekly Downloads

    1

    Version

    2.1.0

    License

    MIT

    Last publish

    Collaborators

    • dariocravero