Proper way to initialize data [duplicate]
In your application's top-level component, use the comoponentWillMount
method (docs) to trigger an action that fetches the data. This method will get called when the component is initially rendered.
For example:
// Create an async action, that will request data using a promise// Using the recently released (v0.2.2) helpers for async actionsvar actions = Reflux.createActions({ init: {asyncResult: true}});actions.init.listenAndPromise(promiseToGetData);// Update the store when the init action's promise is completedvar store = Reflux.createStore({ listenables: actions, onInitCompleted: function (data) { // do stuff this.trigger(data) }});var App = React.createClass({ mixins: [Reflux.connect(store)], componentWillMount: function () { // When this component is loaded, fetch initial data actions.init() }});
Reflux has an API for this actually.
The docs are poor at describing it, but Spoike (Reflux's author) gave an answer along with a code example: