在我的项目中,我使用 react-router 和 Suspence 来渲染多个惰性页面。LoadingSpinner 的唯一问题 id 是 Suspence 组件的后备道具,当您从一个页面转到另一个页面时,它仅加载 0.2 毫秒。这个持续时间很短,甚至肉眼都看不到
App.js 代码:
import React, { lazy, Suspense } from 'react';
import { Routes, Route } from 'react-router-dom';
import { AppContainer, RedirectComponent } from './app.styles';
import SearchField from '../components/search-field/search-field.component';
import ErrorBoundary from '../components/error-boundary/error-boundary.component';
import LoadingSpinner from '../components/loading-spinner/loading-spinner.component';
import RefreshRoute from '../components/refresh-route/refresh-route.component';
const PageNotFound = lazy(() => import('../pages/page-not-found/page-not-found.component'));
const MainPage = lazy(() => import('../pages/main-page/main-page.component'));
const CurrentForecast = lazy(() => import('../components/current-forecast/current-forecast.component'));
const App = () => (
<AppContainer>
<RedirectComponent to='/'>GO TO HOME PAGE</RedirectComponent>
<SearchField />
<ErrorBoundary>
<RefreshRoute>
<Suspense fallback={<LoadingSpinner />}>
<Routes>
<Route exact path='/' element={<MainPage />} />
<Route exact path='/details/:detailsID' element={<CurrentForecast isMainPage={false} />} />
<Route exact path='*' element={<PageNotFound />} />
</Routes>
</Suspense>
</RefreshRoute>
</ErrorBoundary>
</AppContainer>
);
export default App;
如何确保它具有最短持续时间?