我当前的路由配置如下
{
path: '/advert',
name: 'advert',
component: LoadableComponent(() => import('pages/Advert')),
routes: [
{
path: '/advert',
exact: true,
name: 'advertList',
component: LoadableComponent(() => import('pages/Advert/List')),
}
]
}
pages/Advert里头是直接渲染子组件的内容:
function AdvertManage(props: RouteComponentProps & {children: ReactElement}) {
return (props.children)
}
当我使用React.Suspense时,pages/Advert被正常加载了,但pages/Advert/List未能正常加载,使得props.children为undefined
const LoadableComponent = (component: any) => () => {
const MyComponent = lazy(component);
return <React.Suspense fallback={<PageLoading />}>
<MyComponent/>
</React.Suspense>
};
但我使用react-loadable,则可以正常加载到
const LoadableComponent = (component: any) => Loadable({
loader: component,
loading: Loading,
});
想请教下大神们,React.Suspense是否可用来做路由懒加载哦?或者是我的路由配置需要跟着做一些什么样的调整吗?