reflux-immutable

Immutable Store Mixin for Reflux


Keywords
reflux, immutable, store, state
License
BSD-3-Clause
Install
npm install reflux-immutable@1.0.9

Documentation

reflux-immutable

Install

npm install reflux-immutable --save

Useage

MyStore.js
var Reflux = require('reflux');
var ImmutableStoreMixin = require('reflux-immutable/ImmutableStoreMixin');

var SomeActions = require('./SomeActions');

var MyStore = Reflux.createStore({
    listenables: SomeActions,
    mixins: [
        ImmutableStoreMixin
    ],
    init: function() {
        this.setState({
            message: 'Initial Value'
        });
    },
    onMyAction: function() {
        this.setState({
            message: 'myAction has been triggered!'
        });
    }
});

module.exports = MyStore;
MyComponent.js
var React = require('react');
var PureRenderMixin = require('react/addons').addons.PureRenderMixin;
var Reflux = require('reflux');
var StoreMixin = require('reflux-immutable/StoreMixin');

var MyStore = require('./MyStore');

var MyComponent = React.createClass({
    displayName: 'MyComponent',
    mixins: [
        PureRenderMixin,
        StoreMixin,
        Reflux.listenTo(MyStore, 'onStoreChange')
    ],
    getStoreState: function() {
        return {
            message: MyStore.get('message')
        };
    },
    render: function() {
        return (
            <div>
                message = {this.state.message}
            </div>
        );
    }
});