react

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

React

React

The skill is based on React, generated at 2026-01-31.
React is a JavaScript library for building user interfaces. It lets you compose complex UIs from small and isolated pieces of code called "components". React uses a declarative paradigm that makes it easier to reason about your application and aims to be both efficient and flexible.
本技能基于React开发,生成于2026年1月31日。
React是一个用于构建用户界面的JavaScript库。它允许你将复杂的UI拆分为名为“components(组件)”的小型、独立代码片段来组合实现。React采用声明式编程范式,让你更易理解应用逻辑,同时兼顾高效性与灵活性。

Core References

核心参考

TopicDescriptionReference
useStateHook for managing component state with direct updatescore-usestate
useEffectHook for synchronizing components with external systemscore-useeffect
useContextHook for reading and subscribing to contextcore-usecontext
useRefHook for referencing values that don't trigger re-renderscore-useref
useReducerHook for managing complex state with a reducer functioncore-usereducer
SuspenseComponent for displaying fallback UI while content is loadingcore-suspense
memoHigher-order component for memoizing component renderscore-memo
createContextAPI for creating context objectscore-createcontext
FragmentComponent for grouping elements without wrapper nodescore-fragment
StrictModeComponent for enabling additional development checkscore-strictmode
主题说明参考链接
useState用于直接更新管理组件状态的Hookcore-usestate
useEffect用于同步组件与外部系统的Hookcore-useeffect
useContext用于读取和订阅上下文的Hookcore-usecontext
useRef用于引用不会触发重新渲染的值的Hookcore-useref
useReducer用于通过reducer函数管理复杂状态的Hookcore-usereducer
Suspense用于在内容加载时显示备用UI的组件core-suspense
memo用于缓存组件渲染的高阶组件core-memo
createContext用于创建上下文对象的APIcore-createcontext
Fragment用于在不添加包裹节点的情况下分组元素的组件core-fragment
StrictMode用于启用额外开发检查的组件core-strictmode

Features

功能特性

Performance Optimization

性能优化

TopicDescriptionReference
useMemoHook for caching expensive calculationsfeatures-usememo
useCallbackHook for caching function definitionsfeatures-usecallback
lazyAPI for code splitting and lazy loading componentsfeatures-lazy
useTransitionHook for non-blocking state updatesfeatures-usetransition
useDeferredValueHook for deferring non-critical UI updatesfeatures-usedeferredvalue
useLayoutEffectHook that fires synchronously before browser repaintfeatures-uselayouteffect
startTransitionAPI for marking non-blocking state updatesfeatures-starttransition
主题说明参考链接
useMemo用于缓存昂贵计算结果的Hookfeatures-usememo
useCallback用于缓存函数定义的Hookfeatures-usecallback
lazy用于代码分割和懒加载组件的APIfeatures-lazy
useTransition用于非阻塞状态更新的Hookfeatures-usetransition
useDeferredValue用于延迟非关键UI更新的Hookfeatures-usedeferredvalue
useLayoutEffect在浏览器重绘前同步触发的Hookfeatures-uselayouteffect
startTransition用于标记非阻塞状态更新的APIfeatures-starttransition

Advanced Hooks

高级Hook

TopicDescriptionReference
useIdHook for generating unique IDs for accessibilityfeatures-useid
useAPI for reading Promise and Context valuesfeatures-use
useActionStateHook for managing form action statefeatures-useactionstate
useOptimisticHook for optimistic UI updatesfeatures-useoptimistic
useInsertionEffectHook for CSS-in-JS libraries to inject stylesadvanced-useinsertioneffect
useSyncExternalStoreHook for subscribing to external storesadvanced-usesyncexternalstore
useImperativeHandleHook for customizing ref handlesadvanced-useimperativehandle
useEffectEventHook for extracting non-reactive logic from Effectsadvanced-useeffectevent
useDebugValueHook for adding labels to custom hooks in DevToolsadvanced-usedebugvalue
主题说明参考链接
useId为无障碍功能生成唯一ID的Hookfeatures-useid
use用于读取Promise和上下文值的APIfeatures-use
useActionState用于管理表单动作状态的Hookfeatures-useactionstate
useOptimistic用于实现乐观UI更新的Hookfeatures-useoptimistic
useInsertionEffect供CSS-in-JS库注入样式的Hookadvanced-useinsertioneffect
useSyncExternalStore用于订阅外部存储的Hookadvanced-usesyncexternalstore
useImperativeHandle用于自定义ref处理的Hookadvanced-useimperativehandle
useEffectEvent用于从Effects中提取非响应式逻辑的Hookadvanced-useeffectevent
useDebugValue用于在DevTools中为自定义Hook添加标签的Hookadvanced-usedebugvalue

React DOM APIs

React DOM API

TopicDescriptionReference
createRootAPI for creating a root to render React componentsreact-dom-createroot
hydrateRootAPI for hydrating server-rendered HTMLreact-dom-hydrateroot
createPortalAPI for rendering children into different DOM nodesreact-dom-createportal
flushSyncAPI for forcing synchronous updatesreact-dom-flushsync
主题说明参考链接
createRoot用于创建渲染React组件根节点的APIreact-dom-createroot
hydrateRoot用于为服务端渲染HTML进行注水的APIreact-dom-hydrateroot
createPortal用于将子元素渲染到不同DOM节点的APIreact-dom-createportal
flushSync用于强制同步更新的APIreact-dom-flushsync

React Server Components

React服务端组件

TopicDescriptionReference
cacheAPI for caching function results in Server Componentsrsc-cache
主题说明参考链接
cache用于在服务端组件中缓存函数结果的APIrsc-cache

Advanced Components

高级组件

TopicDescriptionReference
ProfilerComponent for measuring rendering performanceadvanced-profiler
ActivityComponent for hiding and restoring UI statefeatures-activity
主题说明参考链接
Profiler用于测量渲染性能的组件advanced-profiler
Activity用于隐藏和恢复UI状态的组件features-activity

Testing

测试

TopicDescriptionReference
actTest helper for applying pending updates before assertionstesting-act
主题说明参考链接
act用于在断言前应用待处理更新的测试辅助工具testing-act

Best Practices

最佳实践

TopicDescriptionReference
Rules of HooksFundamental rules for using React Hooks correctlybest-practices-rules-of-hooks
Component PurityRules for keeping React components and hooks purebest-practices-purity
主题说明参考链接
Rules of Hooks正确使用React Hooks的基本规则best-practices-rules-of-hooks
Component Purity保持React组件和Hook纯净性的规则best-practices-purity

Key Recommendations

关键建议

  • Use hooks at the top level - Never call hooks conditionally or in loops
  • Keep components pure - Components should be idempotent and have no side effects during render
  • Use useEffect for side effects - Synchronize with external systems using Effects
  • Memoize expensive calculations - Use
    useMemo
    for costly computations,
    useCallback
    for functions passed to memoized components
  • Code split with lazy - Use
    lazy
    and
    Suspense
    for route-based code splitting
  • Avoid premature optimization - Profile first, optimize only when needed
  • Use React Compiler - Consider using React Compiler for automatic memoization
  • Handle dependencies correctly - Always include all reactive values in Effect and memoization dependencies
  • 在顶层使用Hook - 切勿在条件语句或循环中调用Hook
  • 保持组件纯净 - 组件在渲染时应具备幂等性,且不应产生副作用
  • 使用useEffect处理副作用 - 借助Effects实现与外部系统的同步
  • 缓存昂贵计算 - 对高成本计算使用
    useMemo
    ,对传递给缓存组件的函数使用
    useCallback
  • 使用lazy进行代码分割 - 结合
    lazy
    Suspense
    实现基于路由的代码分割
  • 避免过早优化 - 先进行性能分析,仅在需要时再做优化
  • 使用React Compiler - 可考虑使用React Compiler实现自动缓存
  • 正确处理依赖项 - 务必将所有响应式值包含在Effect和缓存操作的依赖项中