A React-style hooks library designed specifically for ReactLynx
npm install @lynx-js/react-use---
- 🎯 ReactLynx 兼容 — 与 ReactLynx 应用无缝集成
- ⚛️ React 风格 API — 为 React 开发者提供熟悉的 hooks API
- 🔧 跨平台特性 — 基于 Lynx 跨平台特性精心设计
---
- 主线程脚本
- useMainThreadImperativeHandle — React useImperativeHandle 的主线程版本。
- usePointerEvent — 用于将 TouchEvent 与 MouseEvent 统一为 PointerEvent 的 hook,便于跨平台处理指针事件。
- useTapLock — 用于锁定点击事件的 hook。
- useTouchEmulation — 用于从 MouseEvent 合成 TouchEvent 的 hook,使现有基于触摸的事件处理逻辑可以无缝兼容鼠标输入,便于从仅触摸代码迁移。
- useVelocity — 用于跟踪 tap 速度和方向的 hook。
- 事件
- useEventListener — 用于尽早添加全局事件监听器的 hook。
- useExposureForNode — 节点级曝光 hook,可选曝光准入等待。
- useExposureForPage — 页面级曝光 hook,监听 GlobalEventEmitter 的曝光/反曝光事件并支持准入等待。
- useStayTime — 用于统计元素可见时长的 hook,支持手动控制。
- 生命周期
- useEffectOnce — 仅运行一次的 useEffect。
- useLifecycles — 调用 mount 和 unmount 回调。
- useMountedState 和 useUnmountPromise — 跟踪组件是否已挂载。
- useUnmount — 调用 unmount 回调。
- useUpdateEffect — 仅在更新时运行 effect。
- 副作用
- useDebounce — 对函数进行防抖处理。
- useError — 错误分发器。
- useThrottle 和 useThrottleFn — 对函数进行节流处理。
- 状态
- createMemo — memoized hooks 的工厂函数。
- useToggle 和 useBoolean — 跟踪布尔值的状态。
- useCounter 和 useNumber — 跟踪数字的状态。
- useDefault — 当状态为 null 或 undefined 时返回默认值。
- useLatest — 返回最新的 state 或 props
- useMap — 跟踪对象的状态。
- usePrevious — 返回之前的 state 或 props。
- useQueue — 实现简单的队列。
- useSet — 跟踪 Set 的状态。
- useSetState — 创建类似 this.setState 工作方式的 setState 方法。
- useUniqueId — 生成唯一 ID。
---
本库中的许多 hooks 都建立在 react-use 提供的优秀基础之上。我们向维护者和贡献者致以诚挚的谢意,感谢他们在 React hooks 生态系统中的杰出工作。
我们还从其他优秀项目中汲取灵感:
- kripod/react-hooks
- vueuse/vueuse
- alibaba/hooks
---
用 ❤️ 为 ReactLynx 社区打造