Reactjs flux应该如何处理路由?

Reactjs flux应该如何处理路由?,reactjs,reactjs-flux,flux,Reactjs,Reactjs Flux,Flux,我是个新手,对流量更是陌生,我在谷歌上很难找到关于如何处理路由和流量的信息 我正在使用Meteor堆栈,路由器(FlowRouter)有一个命令式API,用于使用FlowRouter.go('routeName,params)转换路由 我应该创建一个链接组件来触发一个动作,并且动作创建者调用thisFlowRouter.go方法吗 此外,它还为参数提供了一个反应式API,因此我可以观察它,并在发生变化时触发操作(以便存储可以更新)。我在最近的一个项目中使用Flux时采用的一种方法是使路由层成为另

我是个新手,对流量更是陌生,我在谷歌上很难找到关于如何处理路由和流量的信息

我正在使用Meteor堆栈,路由器(FlowRouter)有一个命令式API,用于使用
FlowRouter.go('routeName,params)
转换路由

我应该创建一个链接组件来触发一个动作,并且动作创建者调用this
FlowRouter.go
方法吗


此外,它还为参数提供了一个反应式API,因此我可以观察它,并在发生变化时触发操作(以便存储可以更新)。

我在最近的一个项目中使用Flux时采用的一种方法是使路由层成为另一个存储。我制作了一个包含React View组件文件、路由器存储和路由器操作的文件夹。我提供的资料来源如下:

反应视图文件:

var React = require('react');
var storeMixin = require('project/shared/helpers/storeMixin');
var RouterStore = require('../RouterStore');


module.exports = React.createClass({
    mixins: [storeMixin(RouterStore)],

    getInitialState: function () {
        return {RouterStore: RouterStore};
    },

    getComponentClass: function (route) {


        switch (route) {

            case 'help':
                return require('project/app/components/Help');
default:
                return require('project/FrontPage/FrontPage');
        }


    },

    render: function () {
        var props = {
            route: this.state.RouterStore.get('route'),
            routeParams: this.state.RouterStore.get('params')
        };

        var Component = this.getComponentClass(props.route);
        return <Component {...props} />;
    }
});
操作文件:

var constants = require('./constants');
var dispatch = require('project/shared/helpers/dispatch');
var _ = require('underscore');


module.exports = {
    navigate: function(fragment, trigger, replace) {
        dispatch(constants.ROUTE_NAVIGATE, {
            fragment: fragment,
            trigger: _.isUndefined(trigger) ? true : trigger,
            replace: _.isUndefined(replace) ? true : replace
        });
    }
};

在最近的一个项目中,我在实验Flux时采用了一种方法,即使路由层成为另一个存储。我制作了一个包含React View组件文件、路由器存储和路由器操作的文件夹。我提供的资料来源如下:

反应视图文件:

var React = require('react');
var storeMixin = require('project/shared/helpers/storeMixin');
var RouterStore = require('../RouterStore');


module.exports = React.createClass({
    mixins: [storeMixin(RouterStore)],

    getInitialState: function () {
        return {RouterStore: RouterStore};
    },

    getComponentClass: function (route) {


        switch (route) {

            case 'help':
                return require('project/app/components/Help');
default:
                return require('project/FrontPage/FrontPage');
        }


    },

    render: function () {
        var props = {
            route: this.state.RouterStore.get('route'),
            routeParams: this.state.RouterStore.get('params')
        };

        var Component = this.getComponentClass(props.route);
        return <Component {...props} />;
    }
});
操作文件:

var constants = require('./constants');
var dispatch = require('project/shared/helpers/dispatch');
var _ = require('underscore');


module.exports = {
    navigate: function(fragment, trigger, replace) {
        dispatch(constants.ROUTE_NAVIGATE, {
            fragment: fragment,
            trigger: _.isUndefined(trigger) ? true : trigger,
            replace: _.isUndefined(replace) ? true : replace
        });
    }
};