Skip to content

gabrielpoca/meteor-ditto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WIP METEOR-DITTO

I'm still working on it

This package contains an opinionated set of helpers to use with Redux on a Meteor application.

The pokemon named Ditto

The name for this package comes from me playing too much Pokemon Go and this package's weakness being the duplication of data

Concept

Install

First install the package:

npm install --save meteor-ditto

Next setup the reducers.

import { mongo } from 'meteor-ditto';

const reducers = combineReducers({
  mongo,
  (your other reducers)
});

Finally, connect the collections:

import { connect as connectCollection } from 'meteor-ditto';

// Messages is an example of a Meteor collection
connectCollection(Messages, store)

Usage

Subscribing to publications

When you use SubscriptionComponent to compose your component, two functions will be sent through the props: subscribe and subscriptionReady. The first should be called inside a componentWillMount with the name of the publications and it's arguments, the same way you would call Meteor.subscribe(..). The second accepts the name of a publication and sees if it's ready or not.

import React, { Component, PropTypes } from 'react';
import { connect } from 'react-redux';
import { SubscriptionComponent } from 'meteor-ditto';

class App extends Component {
  componentWillMount() {
    this.props.subscribe('messages', arg1, arg2);
  }

  render {
    return (
      <SomeComponent
        {...this.props}
        ready={this.subscriptionReady('messages')}
      />
    );
  }
}

App.propTypes = {
  subscribe: PropTypes.func.isRequired,
  subscriptionReady: PropTypes.func.isRequired,
};

export default connect(fn => fn)(SubscriptionComponent(App));

Read from the store

About

A system to use Redux in Meteor applications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published