Skip to content
This repository has been archived by the owner on Mar 5, 2018. It is now read-only.

Latest commit

 

History

History
57 lines (39 loc) · 909 Bytes

flux.md

File metadata and controls

57 lines (39 loc) · 909 Bytes

Flux

Using the Dispatcher

import { Dispatcher } from 'consus-core/flux';

Dispatcher.handleAction('INCREMENT', {
    amount: 5
});

Using the Store

import { Store } from 'consus-core/flux';

let count = 0;

class CounterStore extends Store {

    getCount() {
        return count;
    }

}

const store = new CounterStore();

store.registerHandler('INCREMENT', data => {
    count += data.amount;
    store.emitChange();
});

store.registerHandler('DECREMENT', data => {
    count -= data.amount;
    store.emitChange();
});

export default store;

Listening to a Store

import CounterStore from './counter-store';

function handleChange() {
    console.log('The count is now: ' + CounterStore.getCount());
}

CounterStore.addChangeListener(handleChange);

setTimeout(() => {
    CounterStore.removeChangeListener(handleChange);
}, 10000);