问题描述
我想预加载组件,即在用户访问链接之前加载组件。下面是代码片段,延迟加载可以正常工作,但无法预加载组件。我可以根据Suspense Fallback查看加载消息。有人请帮忙。谢谢。
const ReactLazyPreload = importStatement => {
const Component = React.lazy(importStatement);
Component.preload = importStatement;
return Component;
};
const AddSubUser = ReactLazyPreload(() => import("./AddSubUserComponent"));
const BusinessChange = ReactLazyPreload(() => import("./BusinessChangeComponent"));
class Main extends Component {
componentDidMount() {
AddSubUser.preload();
BusinessChange.preload();
}
....
}
....
<React.Suspense fallback={"Loading"}>
<Route exact path="/business/addsubuser" component={() => <AddSubUser addSubUserMessage={this.props.addSubUserMessage} postAddSubUser={this.props.postAddSubUser} resetAddSubUserForm={this.props.resetAddSubUserForm} getSubUserList={this.props.getSubUserList} subUserList={this.props.subUserList} deleteSubUser={this.props.deleteSubUser} deleteSubUserState={this.props.deleteSubUserState} />} />
<Route exact path="/business/businessdetail/businesschange/:businessid" component={BusinessChangeId} />
</React.Suspense>
....
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)