406 - 《React Hooks CheatSheet》

发布于 2024年1月22日

State

1、useState(),声明一个状态变量。

const [age, setAge] = useState(42);

2、useReducer(),声明一个状态变量,使用 reducer 函数更新状态。

const [state, dispatch] = useReducer(reducer, { age: 42 });

Context

1、useContext(),读取和订阅 context。

const theme = useContext(ThemeContext);

Effect

1、useEffect(),同步外部系统。

useEffect(() => {
  const unsubscribe = socket.connect(props.userId);
  return () => {
    unsubscribe();
  };
}, [props.userId]);

2、useLayoutEffect(),类 useEffect 但在浏览器重绘之前触发。

useLayoutEffect(() => {
  // 读取 DOM 布局
}, []);

3、useInsertionEffect(),CSS-in-JS 库用来注入样式。

useInsertionEffect(() => {
  // 注入样式
}, []);

Performance

1、useCallback(),缓存函数。

const handleClick = useCallback(() => {
  doSomething(a, b);
}, [a, b]);

2、useMemo(),缓存值。

const value = useMemo(() => {
  return computeExpensiveValue(a, b);
}, [a, b]);

3、useTransition(),不阻塞用户交互的状态更新。

const [isP

内容预览已结束

此内容需要会员权限。请先登录以查看完整内容。