我在redux应用程序中使用动态路由。 (https://github.com/reactjs/react-router/blob/master/docs/guides/DynamicRouting.md)
当我想动态路由反应组件时,会发生奇怪的事情。具体来说,下面将有效:
import React from 'react'
class Explore extends React.Component {
render() {
return (
<div>
<h2>Explore</h2>
</div>
)
}
}
module.exports = Explore
但是,以下内容不起作用:
import React from 'react'
export default class Explore extends React.Component {
render() {
return (
<div>
<h2>Explore</h2>
</div>
)
}
}
我使用带有babel加载器的Webpack进行捆绑,所以这很奇怪,我无法理解。除此之外,所有其他工作,这意味着当我不使用动态路由时,“导出默认类”工作没有问题。
有人能说清楚这个吗?非常感谢。
在Client Main js文件中:
import getDynamicRoutes from './routes.dynamic'
const rootRoute = {
path: '/',
component: App,
childRoutes: getDynamicRoutes()
}
在routes.dynamic.js中:
export default () => {
return [
{
path: 'explore',
getComponent(nextState, cb) {
require.ensure([], (require) => {
cb(null, require('./components/Explore'))
})
}
},
{
path: 'login',
getComponent(nextState, cb) {
require.ensure([], (require) => {
cb(null, require('./containers/Login/Login'))
})
}
},
{
path: 'posts',
getComponent(nextState, cb) {
require.ensure([], (require) => {
cb(null, require('./containers/PostList'))
})
}
},
]
}