Skip to content
This repository has been archived by the owner on Mar 7, 2024. It is now read-only.

fix: #1415 修复cache router 无效问题 #1416

Merged
merged 8 commits into from
Dec 5, 2020
19 changes: 12 additions & 7 deletions packages/remax-web/src/createApp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,17 @@ export default function createApp(options: BootstrapOptions, history: History) {

const pluginDriver = new PluginDriver(plugins.map(plugin => plugin.default || plugin));
RuntimeOptions.apply({ pluginDriver });

const pageComponentsHoc = pages.map((page, i) => {
const pageComponent = async
? loadable<any>(() =>
(pageComponents[i]() as Promise<{ default: React.ComponentType }>).then(({ default: c }) =>
createPageConfig(c, page.route)
)
)
: createPageConfig(pageComponents[i]() as React.ComponentType, page.route);
return pageComponent;
});
return (
<Router history={history as any}>
<AppConfig>
Expand All @@ -26,13 +37,7 @@ export default function createApp(options: BootstrapOptions, history: History) {
return (
<CacheRoute key={page.route} className="remax-cached-router-wrapper" path={`/${page.route}`} exact={true}>
{(props: any) => {
const pageComponent = async
? loadable<any>(() =>
(pageComponents[i]() as Promise<{ default: React.ComponentType }>).then(({ default: c }) =>
createPageConfig(c, page.route)
)
)
: createPageConfig(pageComponents[i]() as React.ComponentType, page.route);
const pageComponent = pageComponentsHoc[i];
return React.createElement(pageComponent, {
...props,
pageConfig: {
Expand Down