Skip to content

memo

对子组件进行缓存,比如父组件的一个状态改变了,即使传给子组件的状态没有变也会重新渲染子组件的,所以可以用它来包裹子组件函数进行缓存,当传递给子组件的props不变,子组件可以避免重新创建。

只有创建子组件的代价大的时候才用,不要滥用(缓存消耗可能比直接创建子组件还浪费性能)

lazy

和Suspend配合实现懒加载

jsx
import React, { Suspense, lazy } from 'react';

// 使用React.lazy懒加载组件
const OtherComponent = lazy(() => import('./OtherComponent'));

function App() {
  return (
    <div>
      {/* 使用Suspense提供加载状态的 fallback */}
      <Suspense fallback={<div>Loading...</div>}>
        <OtherComponent />
      </Suspense>
    </div>
  );
}

export default App;

createContext

use

可以让你读取类似于 Promise 或 context 的资源的值。与 React Hook 不同的是,可以在循环和条件语句(如 if)中调用 use。但需要注意的是,调用 use 的函数仍然必须是一个组件或 Hook。

参数 :想要从中读取值的数据源。资源可以是 Promise 或 context。

返回值 :返回从资源中读取的值,类似于 fullfilled Promise 或 context。