我在动态路由中使用了React的lazy和suspense,但无法渲染懒加载组件。
我已经搜索了关于在路由上使用lazy的文章,但我没有看到任何人在动态(localhost:8080/dynamic/dynamic)路由上使用它。
在动态路由中加载组件对我有效,如果我使用静态路由,则懒加载也有效,但当我尝试将两者结合起来时,组件就无法加载。
以下是我的示例:
我已经搜索了关于在路由上使用lazy的文章,但我没有看到任何人在动态(localhost:8080/dynamic/dynamic)路由上使用它。
在动态路由中加载组件对我有效,如果我使用静态路由,则懒加载也有效,但当我尝试将两者结合起来时,组件就无法加载。
以下是我的示例:
import Loader from './path/toFile';
import Home from './path/toFile';
const LazyLoadedComponent = lazy(() => import('./path/toFile'));
const App = () => {
return(
<Router>
<Switch>
// Home has multiple views controlled by buttons
// A view contains selections with corresponding id
<Route exact path="/:viewType?" component={Home} />
// this component doesn't load when I select something which links me to this dynamic route.
<Suspense fallback={Loader}>
<Route path="/viewType/:selectionId" component={LazyLoadedComponent} />
</Suspense>
</Switch>
</Router>
)
}
我希望在进入该路由时只加载一次组件。 但结果是当我从选择中选择一个时,它只显示带有空白的 index.html。 我没有看到任何错误产生。
blockquote
。你漏掉了一些标签。 - ravibagul91