@shined/react-use
v1.11.0
Published
A New Programming Paradigm to Reshape React Development.
Downloads
164
Readme
🎉 Introduction
@shined/react-use
aims to reshape the new programming paradigm of React development. It enhances development efficiency, fosters better programming habits, and reduces the reliance on useEffect
and useState
by offering a multitude of high-quality, semantic Hooks. It encourages developers to gradually adapt to a React development (programming) paradigm that prioritizes 'Hooks first'.
Fundamentally, it's a SSR (Server-Side Rendering) friendly, comprehensive, and highly optimized React Hooks library that provides flexible and efficient Hook solutions, entirely developed in TypeScript, and comes with interactive documentation filled with rich examples 🔥.
It's primarily inspired by VueUse, while also drawing from react-use, ahooks, and many other outstanding libraries within the community. Special thanks to the open-source community, especially the authors of the aforementioned libraries, for their exceptional work and inspiration.
🚀 Features
- Flexibility: Dependencies Collection, ElementTarget, Ref Getter, Pausable, and more.
- Tree-shakable: Designed and delivered with ESM, import only what you need.
- Interactive Documentation: Interactive documentation with live examples and Playground.
- Lightweight: Boasts zero dependencies.
- SSR-friendly: Ensures that all Hooks are compatible with Server-side Rendering (SSR).
- First-class TypeScript Support: Written in TypeScript with well-named type definitions and JSDoc Comment.
- ~~Comprehensive Testing~~: (Coming soon...)
Visit the Get Started section to explore how it can be integrated into your project.
⚡️ Optimizations
- Safe State: Implements a safe state strategy for all stateful Hooks, reducing bugs and unwanted behaviors.
- Stable functions: Every exported function benefits from stabilization by default.
- Latest State: Avoids the expired closure issues by using latest state internally.
- Reduced Unnecessary Rerenders: Use Pausable instance to control the behavior of some Hooks optionally.
🪪 License
MIT © @shined