Skip to content

Instantly share code, notes, and snippets.

@bebraw
Last active October 28, 2015 10:23
Show Gist options
  • Save bebraw/2060641a7fae7264af2c to your computer and use it in GitHub Desktop.
Save bebraw/2060641a7fae7264af2c to your computer and use it in GitHub Desktop.
Reflux + Axios.
'use strict';
var Reflux = require('reflux');
var axios = require('axios');
var Actions = Reflux.createActions({
load: {
children: ['completed', 'failed']
}
});
Actions.load.listen(function() {
var that = this;
axios.get('/whatever').then(function(res) {
that.completed(res.data);
}).catch(this.failed);
});
module.exports = Actions;
'use strict';
var Reflux = require('reflux');
var actions = require('./actions');
module.exports = Reflux.createStore({
init: function() {
this.data = [];
this.listenTo(actions.load.completed, this.loadCompleted);
this.listenTo(actions.load.failed, this.loadFailed);
},
loadCompleted: function(data) {
this.data = data;
this.trigger(data);
},
loadFailed: function(err) {
console.error(err);
},
});
@dinodsaurus
Copy link

Thanks for this example, one of the better ones I found online!

@mauriciosoares
Copy link

👍

@mauriciosoares
Copy link

Hey brebaw... for some reason when I tried to use this example, the initial "load" is not being triggered...

Do I have to manually trigger it in somewhere? Or Am I probably doing something wrong?

@mauriciosoares
Copy link

God dammit, I got it now...

I have to trigger actions.load() to actually trigger the ajax call... I thought the first one was automatically triggered... my fault...

Thanks for the example :)

@freewayz
Copy link

Wow this helped, but please how do you use this inside the react component.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment