react-redux应用程序中路由的替代方法

时间:2017-04-23 20:20:13

标签: reactjs routing redux react-router react-redux

我一直在寻找与react和redux配合得很好的路由器,但我找不到任何符合我对完美路由系统想象的东西。

一般来说,我讨厌最常用的路由解决方案(例如react-router)是所有路由都被定义为反应组件。这不符合我想要使用的架构,如下所示:应用程序分为不同的模块。每个模块定义它使用的路由和路由处理程序,例如:

function setupModule({ addRoute, changeView }) {
    function showFooView() {
        return (dispatch) => {
            dispatch(changeView(ComponentFoo));
        };
    }

    addRoute("/foo", showFooView);
}

现在当有人访问/foo路由时,应该呈现<ComponentFoo/>

该方法的问题在于我必须使用changeView视图调度ComponentFoo操作并将其保留在存储中,以便我的Application组件知道它应该呈现哪个视图。这意味着保持商店中的功能,这通常是不推荐的。

你能看到我用任何方式使用描述的路由系统并且不破坏redux规则吗?

0 个答案:

没有答案