react-router-dom,是否存在用于代码拆分的`getComponent`方法?

时间:2017-03-14 12:26:56

标签: react-router react-router-v4

我尝试弄清楚代码拆分如何与webpack2.xreact-router-dom一起使用。

"react-router-dom": "^4.0.0"

但是我读了这份文档并没有找到像这样使用的方法:

getComponent是否还在工作?

我发现react-router-dom doc只是给你一些例子,没有解释。

我看到react-routerv4.0.0-beta.8,也许我以后应该使用react-router-dom

module.exports = {
    path: 'home',
    getComponent(nextState, cb) {
        import('./main').then(component => {
            cb(null, component);
        }).catch(err => {
            console.log('Failed to load "home" component', err);
        });
    }
};

1 个答案:

答案 0 :(得分:2)

看起来.getComponent()已不再可用。我认为react-router将此责任移交给开发人员以创建自己的异步组件。在react-router-dom文档中有一个很好的指南,关于使用webpack2和bundle-loader处理代码拆分: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/code-splitting.md

这里有一个很棒的快速代码拆分示例与React Router v4: https://gist.github.com/acdlite/a68433004f9d6b4cbc83b5cc3990c194

希望有所帮助!