设计原则
react-simplikit 的设计目标是轻量、可靠、易用。以下原则就是支撑这一设计的核心价值。
尊重 React 的生命周期,不加干涉
react-simplikit 不包含直接干涉 React 生命周期的实现。 例如,它不提供 useMount 或 useLifecycles 这样的 Hook,而是采用尊重并利用 React 默认行为的方式。
通过零依赖做到轻量与快速
react-simplikit 完全没有依赖。由于不依赖任何额外的库,它把接入项目时的包体积降到最低,也让你不必担心性能下降。
通过 100% 测试覆盖率保证可靠性
react-simplikit 会彻底测试每个函数和每个分支。 我们为每个实现编写全面的测试,不仅覆盖基本功能,还考虑到 SSR 环境的情况,从而避免非预期行为引发的问题。 如果你正在寻找一个可靠的库,react-simplikit 会是很好的选择。
在各种浏览器和设备上都可靠
读取浏览器状态的 Hook 是针对平台差异来编写的,而不是绕开它们。iOS Safari 和 Android Chrome 对视觉视口和软键盘的报告方式不同,window.visualViewport 这样的 API 可能根本不存在,页面也可能先在服务端渲染。这些 Hook 会处理各自依赖的平台差异,在 API 不可用时优雅降级,并且除了测试之外还会在真机上验证。
完善的文档,易于理解和使用
react-simplikit 提供详细的文档,帮助用户快速理解并用好每个功能。文档包括:
- JSDoc 注释:详细说明每个函数的行为、参数和返回值。
- 使用指南:清晰易懂的步骤,让你立刻上手。
- 实用示例:展示如何在真实场景中运用这些实现的示例。
文档以英文编写,并翻译成多种语言;尚未翻译的页面会以英文显示,并附带提示。
完整的 TypeScript 支持带来类型安全
react-simplikit 从一开始就用 TypeScript 构建。每个 Hook 和工具函数都具备:
- 严格的类型定义:所有参数、返回值和选项都有完整的类型
- IntelliSense 支持:在 IDE 中获得自动补全和内联文档
- 泛型:灵活的 API,保留你的类型信息
- 不使用
any类型:我们避免使用会破坏类型安全的脱围机制