0.0.8 • Published 6 years ago

ekm-flux-store v0.0.8

Weekly downloads
-
License
ISC
Repository
-
Last release
6 years ago

ekm-flux-store

A generic Flux Store for javascript applications using the flux application architecture.

Example

import FluxStore from 'ekm-flux-store';
import AppDispatcher from '../Dispatchers/AppDispatcher';
import Constants from '../Constants/MyConstants';

const initialState = { ... };

class MyStore extends FluxStore {
    // Call constructor with initial state and the change event constant
    constructor() {
        super({ ...initialState }, Constants.CHANGE_EVENT);
    }
    // The function that is called when an event is dispatched
    reduce = (action, changeState) => {
        switch (action.actionType) {
            case Constants.GET_SUCCESS:
                changeState( { ... } );
                break;
            default: break;
        }
    }
}

const Store = new MyStore();

AppDispatcher.register(Store.getNextState.bind(Store));

export default Store;

Sub Class Functionality

The sub class needs to initialise the base class by calling super with the initialState of the Store and the CHANGE_EVENT. A function named reduce also needs to be implemented into the sub class. This function will supply the action that is dispatched and a changeState callback function to the reduce sub class function. The implementation of these functions can be seen in the example above.

Base Class Functionality

Properties

Current State

this.CurrentState;

Initial State

this.InitialState;

Functions

emitChange

Emits a change that will notify any listeners that a CHANGE_EVENT has occurred

Store.emitChange();

addChangeListener

Adds a callback function that will execute when a CHANGE_EVENT occurs

Store.addChangeListener(this.onChange);

removeChangeListener

Removes a previously added callback function from the store

Store.removeListener(this.onChange);

getInitialState

Returns the initial state of the store

Store.getInitialState();

clearState

Resets the store to the initial state of the store

Store.clearState();

getState

Returns the current state of the store

Store.getState();
0.0.8

6 years ago

0.0.7

6 years ago

1.0.0

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago