是否可以在后台加载子路由时呈现父路由(异步)。
<Route path="/" component={Layout}>
<Route
path="home"
getComponents={(a, cb) => require.ensure([], require => {
const { default: Component } = require<{ default: any }>('./pages/home')
cb(null, Component)
}, 'home')} />
</Route>
此处,Layout
组件在第一次渲染之前等待home.js
。
预期行为
当我去&#39; / home&#39;
Layout
应首先呈现home.js
应该被提取为异步home.js
组件我正在使用react-router@3.0.0
router.jsx
<Route path="/" component={Layout}>
<Route
path="home"
component={Home} />
</Route>
主-async.jsx
import { asyncComponent } from 'react-async-component'
const Async = asyncComponent({
resolve: () => System.import('./home.js'),
})
export default Async
我能够通过这种方法实现理想的行为。不过,我仍然愿意接受任何建议。