{"id":28502959,"url":"https://github.com/sheinsight/react-use","last_synced_at":"2026-01-16T15:54:40.554Z","repository":{"id":244210341,"uuid":"814584234","full_name":"sheinsight/react-use","owner":"sheinsight","description":"⚛️ React Use: A new programming paradigm to reshape React development.","archived":false,"fork":false,"pushed_at":"2025-05-22T09:55:04.000Z","size":3349,"stargazers_count":59,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-06-08T16:44:48.895Z","etag":null,"topics":["browser","ink","react","react-hooks","react-native","server-side-rendering","ssr","utilities"],"latest_commit_sha":null,"homepage":"https://sheinsight.github.io/react-use","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sheinsight.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-13T09:43:26.000Z","updated_at":"2025-05-22T09:55:09.000Z","dependencies_parsed_at":"2024-08-19T03:31:08.804Z","dependency_job_id":"55dccf06-86c3-47db-a092-16306a4da555","html_url":"https://github.com/sheinsight/react-use","commit_stats":null,"previous_names":["sheinsight/use","sheinsight/react-use"],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/sheinsight/react-use","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheinsight%2Freact-use","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheinsight%2Freact-use/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheinsight%2Freact-use/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheinsight%2Freact-use/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sheinsight","download_url":"https://codeload.github.com/sheinsight/react-use/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheinsight%2Freact-use/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261447580,"owners_count":23159623,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","ink","react","react-hooks","react-native","server-side-rendering","ssr","utilities"],"created_at":"2025-06-08T16:38:39.337Z","updated_at":"2026-01-16T15:54:40.538Z","avatar_url":"https://github.com/sheinsight.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://sheinsight.github.io/react-use/logo.svg\" height=\"150\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003e\n@shined/react-use\n\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\nA New Programming Paradigm to Reshape React Development.\n\u003cp\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@shined/react-use\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/%40shined%2Freact-use?style=flat\u0026labelColor=%23ffffff\u0026color=%232e8555\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://biomejs.dev/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Checked_with-Biome-60a5fa?style=flat\u0026logo=biome\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pkg-size.dev/@shined/react-use\"\u003e\u003cimg src=\"https://pkg-size.dev/badge/bundle/125650\"\u003e\u003c/a\u003e\n\u003cp\u003e\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://sheinsight.github.io/react-use\"\u003eDocumentation\u003c/a\u003e | \u003ca href=\"https://sheinsight.github.io/react-use/docs/get-started\"\u003eGet Started\u003c/a\u003e | \u003ca href=\"https://sheinsight.github.io/react-use/reference\"\u003eReference\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://sheinsight.github.io/react-use/zh-cn/\"\u003e中文文档\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n## 🎉 Introduction\n\n\n`@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**'.\n\nFundamentally, 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 🔥.\n\nIt's primarily inspired by [VueUse](https://vueuse.org/), while also drawing from [react-use](https://github.com/streamich/react-use), [ahooks](https://ahooks.js.org/), 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.\n\n\n## 🚀 Features\n\n- **Flexibility**: [Dependencies Collection](https://sheinsight.github.io/react-use/docs/features/dependencies-collection), [ElementTarget](https://sheinsight.github.io/react-use/docs/features/element-target), [Ref Getter](https://sheinsight.github.io/react-use/docs/features/ref-getter), [Pausable](https://sheinsight.github.io/react-use/docs/features/pausable), and [more](https://sheinsight.github.io/react-use/docs/introduction#features).\n- **Tree-shakable**: Designed and delivered with [ESM](https://nodejs.org/api/esm.html), import only what you need.\n- **Interactive Documentation**: Interactive documentation with live examples and [Playground](https://react-online.vercel.app/#code=eNqNk02P0zAQhu%2F5FUMvSaS6aVdFWq2aClhx4AAHTiDEIbEnbYQ%2FItthE6L8d6ZJ191PaS%2F22H7nmfGMXavGWA8DcIuFx%2B%2FGeBihskZBTDvcM2FUxmWN2sdRULcOvxoalifr1rTaow1%2BH9yx1iiy2Z8EcRRVrea%2BNho%2BNk2SwhABcKPdidUtoSffPECTNJz%2B4if2EghEzu73rDoHTNZpREqLvrUaEjIBdqL%2BC1wWzn0rFObxHataKaEy2jNltIGDrQU0suDIKISnazFOA9p4PwFeQrxfr5sOPHb32tm%2B6mRweu6mSLCO98%2BKsctI%2BLrbRN52cg5RqJKiqZ5dx%2FsfNzB04xJ%2B0tyPTzFl673RYU0FDMyFpXoJFFAaKwg3T8wZSaU4L%2BZATce20PTsavEAZPStrPmffKC%2B5fv7VqxqzZNNOgbhJReAqUGU5tS9i2SXzVmGSj%2B8w5NCLO7Yhop%2BZI5eJmooD3OO2fYaipJybz3CP7ZZgPO9xHwYQGJFQTtgsIFxhOx18pl5nEK8gexNc0OP9DE4ZJ9GYxRd%2Fk8iDG8VvZPVAf1niSfzU%2F9FJLGl0zh9l64sUj9ssqPPQLQ0%2Bg%2BbPxib).\n- **Lightweight**: Boasts [zero dependencies](https://github.com/sheinsight/react-use/blob/main/package.json).\n- **SSR-friendly**: Ensures that all Hooks are compatible with Server-side Rendering (SSR).\n- **First-class TypeScript Support**: Written in [TypeScript](https://www.typescriptlang.org/) with well-named type definitions and [JSDoc](https://jsdoc.app/) Comment.\n- **Comprehensive Testing**: Each Hook is rigorously tested with [Vitest](https://vitest.dev/) to ensure reliability and stability.\n\nVisit the [Get Started](https://sheinsight.github.io/react-use/docs/get-started) section to explore how it can be integrated into your project.\n\n## ⚡️ Optimizations\n\n- **Safe State**: Implements a [safe state](https://sheinsight.github.io/react-use/docs/optimization/safe-state) strategy for all stateful Hooks, reducing bugs and unwanted behaviors.\n- **Stable functions**: Every exported function benefits from [stabilization](https://sheinsight.github.io/react-use/docs/optimization/stabilization) by default.\n- **Latest State**: Avoids the expired closure issues by using [latest](https://sheinsight.github.io/react-use/docs/optimization/latest-state) state internally.\n- **Reduced Unnecessary Rerenders**: Use [Pausable](https://sheinsight.github.io/react-use/docs/features/pausable) instance to control the behavior of some Hooks optionally.\n\n## 🪪 License\n\nMIT © @shined\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheinsight%2Freact-use","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsheinsight%2Freact-use","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsheinsight%2Freact-use/lists"}