【发布时间】:2021-09-23 06:24:45
【问题描述】:
我希望我的每个页面在加载时都有不同的加载动画。我怎样才能做到这一点?
不可能像这样将加载组件放在页面组件上:
//Page component
Page.Loader = SomeLoaderComponent
//_app.tsx
const Loader = Component.Loader || DefaultLoader;
这将不起作用,因为“组件(页面)”尚未加载/渲染。
我也试过用next.js动态导入,这样我就可以根据url导入正确的页面,然后得到正确的loader。我最初的计划是将 Loader 添加到页面组件中,如上面代码的第一行所示。这不起作用,因为我必须给出明确的路径。
const getLoader = (pagePath: string): ComponentType => {
const Loader = dynamic(() => import(pagePath));
return Page.Loader;
};
所以问题是:如何为每页获取自定义加载器?
【问题讨论】:
标签: javascript reactjs typescript next.js loading