这是什么?
useHooks 是一组现代的、可在服务端安全使用的 React Hooks,由 ui.dev 团队维护,涵盖防抖、本地存储、媒体查询和地理位置等常见需求。
这是框架,还是只是一组工具函数?
它是一个轻量的工具库,由一个个独立的 React Hooks 组成,而不是框架。你只需导入需要的 Hooks 即可。
我该如何把它添加到我的项目中?
用 npm 安装标准包,然后直接从中导入你需要的 Hooks。
我需要哪个 React 版本?
需要 React v18.0.0 或更高版本;实验版还额外需要实验性的 React 和 React DOM 版本。
使用实验性 Hooks 有什么坑吗?
像 useFetch、useInterval 和 useEventListener 这样的实验性 Hooks,需要安装 @uidotdev/usehooks@experimental 标签,并同时使用 React 的实验通道。它的稳定性不如标准版本。
这些 Hooks 的“服务端安全”是什么意思?
这意味着这些 Hooks 在编写时避免了服务端渲染过程中出错,因此在 Next.js 等框架中可以安全使用。这些框架的组件可能在水合(hydration)之前就已在服务器上渲染。
标准包包含多少个 Hooks?
列出的标准 Hooks 大约有 37 个,包括 useBattery、useDebounce、useLocalStorage、useMediaQuery、useIntersectionObserver 和 useWindowSize 等。
实验性 Hooks 解决了哪些问题?
它们补充了一些稳定版中尚未包含的功能,例如数据获取(useFetch)、计时器(useInterval、useTimeout、useCountdown)以及事件处理(useEventListener、useKeyPress)。
What are similar projects?
nuqs, hooks, astro, react-i18next, react-dropzone, react-hook-form, tailwind-nextjs-starter-blog, styled-components
Which topics is it in?
react-hooks, astro, mdx, blog, vercel, hooks, ssr, frontend-framework, reactjs, javascript-library, react, npm
