直接上代码
routers.js如下
export default {
childRoutes: [
{
path: '/',
getComponent: (nextState, cb) => {
require.ensure([], (require) => {
cb(null, require('./view/common/main').default)
},'main')
},
indexRoute: {
getComponent: (nextState, cb) => {
require.ensure([], (require) => {
cb(null, require('./view/common/welcome').default)
},'welcome')
}
},
childRoutes: [
{
path: 'authors/user',
getComponent: (nextState, cb) => {
require.ensure([], (require) => {
cb(null, require('./view/boss.js').default)
})
},
childRoutes: [
path: 'list',
getComponent: (nextState, cb) => {
require.ensure([], (require) => {
cb(null, require('./view/auth.js').default)
})
}
]
}
]
}
]
}
app.js如下:
import React from 'react';
import ReactDOM from 'react-dom';
import {
render
} from 'react-dom';
import {
Router,
Route,
hashHistory,
IndexRoute,
Redirect
} from 'react-router';
import Myrouter from './routers';
render(
(
<Router history={hashHistory} routes={Myrouter} />
), document.getElementById('content')
);
<Link to={{ pathname: "/authors/user/list", query: {id: text.id} }}></Link>
我的理解是当 路由“list”应该是路由“authors/user”的子路由,但是当我访问路由“authors/user/list”无法正常显示也不报错,这是什么情况,望大神能解答,谢谢~~
没有报错吗?因为用了按需加载 你去控制台看看相应的js文件有没有被加载进来 如果报红了。多半是webpack配置的问题