8

使用 RefluxJS 初始化数据(异步)的正确方法是什么?是否有类似于 AngularJS 的解析,或者 Flux 实现与此无关(路由器应该处理此责任)?

4

2 回答 2

10

在应用程序的顶级组件中,使用comoponentWillMount方法 ( docs ) 来触发获取数据的操作。该方法将在组件最初呈现时被调用。

例如:

// Create an async action, that will request data using a promise
// Using the recently released (v0.2.2) helpers for async actions
var actions = Reflux.createActions({
    init: {asyncResult: true}
});
actions.init.listenAndPromise(promiseToGetData);

// Update the store when the init action's promise is completed
var 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()
    }
});
于 2015-01-23T01:13:19.673 回答
-1

Reflux 实际上有一个 API。

文档很难描述它,但是 Spoike(Reflux 的作者)给出了一个答案以及一个代码示例:

https://stackoverflow.com/a/28984512/1775026

于 2015-08-01T03:32:05.197 回答