阅读量:0
React.lazy() 和 React.memo() 都是用于优化 React 应用程序性能的工具,但它们的用途和行为有所不同。
React.lazy() 用于实现代码分割,将较大的代码块延迟加载,直到用户实际需要访问该部分代码。这可以减少应用程序的初始加载时间,并提高性能。React.lazy() 接受一个函数作为参数,该函数应返回一个动态导入的模块,该模块包含要延迟加载的组件。
示例代码:
import React, { lazy, Suspense } from 'react'; const MyComponent = lazy(() => import('./MyComponent')); function App() { return ( <div> <Suspense fallback={<div>Loading...</div>}> <MyComponent /> </Suspense> </div> ); }
React.memo() 用于优化函数组件的性能,避免不必要的重新渲染。当一个组件接收的 props 没有发生变化时,React.memo() 会阻止该组件重新渲染。这可以提高性能,特别是在处理大量数据或复杂组件时。React.memo() 接受一个函数作为参数,该函数应返回要优化的组件。
示例代码:
import React, { memo } from 'react'; const MyComponent = (props) => { // 渲染组件 }; export default memo(MyComponent);
因此,React.lazy() 和 React.memo() 可以结合使用,以实现更高效的代码分割和优化组件渲染。