react-router-dom中lazy
时间: 2023-12-23 19:59:16 浏览: 189
React Router Dom中的`lazy`函数是用于实现路由懒加载的功能。懒加载是一种优化技术,它可以延迟加载某个组件,只有在需要的时候才进行加载,而不是一开始就加载所有的组件。
使用`lazy`函数,你可以将一个组件包装起来,并通过动态导入的方式进行加载。例如,你可以这样使用`lazy`函数:
```jsx
import { lazy } from 'react';
import { Switch, Route } from 'react-router-dom';
const Home = lazy(() => import('./Home'));
const About = lazy(() => import('./About'));
const Contact = lazy(() => import('./Contact'));
function App() {
return (
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/contact" component={Contact} />
</Switch>
);
}
```
在上面的例子中,我们通过`lazy`函数将`Home`、`About`和`Contact`组件进行了懒加载。当访问对应的路由时,才会进行相应组件的加载。
需要注意的是,懒加载需要和`Suspense`组件一起使用,以处理在组件加载过程中的等待状态。你可以在代码中添加一个`Suspense`组件来包裹你的路由组件:
```jsx
import { Suspense } from 'react';
function App() {
return (
<Suspense fallback={<div>Loading...</div>}>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/contact" component={Contact} />
</Switch>
</Suspense>
);
}
```
在上面的例子中,我们定义了一个`fallback`属性,用于在组件加载过程中显示一个加载中的状态。你可以根据需要自定义这个状态。
这就是在React Router Dom中使用`lazy`函数进行路由懒加载的基本用法。通过懒加载,可以提高应用程序的性能和加载速度,特别是当应用程序包含大量组件时。
阅读全文