2.1.0 • Published 8 years ago

pouch-redux v2.1.0

Weekly downloads
6
License
MIT
Repository
github
Last release
8 years ago

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.

2.1.0

8 years ago

2.0.0

8 years ago

1.1.0

8 years ago

1.0.0

8 years ago