React Hooks Snippets installs statistics
By Al Duncanson · VS Code Marketplace · Snippets
A snippet for every React hook
React Hooks Snippets has 134,790 recorded installs on VS Code Marketplace, ranking #1981 of 2,501 tracked listings.
Rating: 5.00 / 5 from 6 ratings
About React Hooks Snippets
React Hooks Snippets
React Hooks Snippets gives you a shorthand snippet for every hook in the
React docs — in VS Code, VSCodium,
Cursor, Devin Desktop (formerly Windsurf), and Neovim. Type a short prefix,
press <kbd>Tab</kbd>, and get a fully formed hook call with tab stops on
everything you'd want to edit. It works in JavaScript, TypeScript, and JSX/TSX
files, and covers every current hook — including the newly stable
useEffectEvent — plus the use API and react-dom's useFormStatus.

Prefixes follow one simple pattern: u + the hook's initials + h. So ush
is useState hook, ueh is useEffect hook, and ucbh
is useCallback hook:
ush⇥ → const [count, setCount] = useState(0);
Install
Visual Studio Marketplace
For VS Code, install from the Visual Studio Marketplace. New to extensions? See the official VS Code docs.
Open VSX
For VSCodium, Cursor, Devin Desktop (formerly Windsurf), Gitpod, and other compatible editors, install from Open VSX.
Neovim
This repo doubles as a LuaSnip snippet source, no port needed. Add it with your plugin manager and load VS Code-format snippets:
-- lazy.nvim
{ "alDuncanson/react-hooks-snippets" },
require("luasnip.loaders.from_vscode").lazy_load()
Snippets surface through your completion engine (blink.cmp, nvim-cmp) or a LuaSnip expand keymap.
Snippets
State
| Prefix | Hook | Expands to |
|---|---|---|
ush | useState | const [state, setState] = useState(initialState) |
urdh | useReducer | const [state, dispatch] = useReducer(reducer, initialArg, init) |
Context
| Prefix | Hook | Expands to |
|---|---|---|
uch | useContext | const value = useContext(SomeContext) |
Refs
| Prefix | Hook | Expands to |
|---|---|---|
urh | useRef | const ref = useRef(initialValue) |
uihh | useImperativeHandle | useImperativeHandle(ref, () => ({ … }), [deps]) |
Effects
| Prefix | Hook | Expands to |
|---|---|---|
ueh | useEffect | useEffect(() => { … return () => { … } }, [deps]) |
uleh | useLayoutEffect | useLayoutEffect(() => { … }, [deps]) |
uieh | useInsertionEffect | useInsertionEffect(() => { … }, [deps]) |
ueeh | useEffectEvent | const onEvent = useEffectEvent(() => { … }) |
Performance
| Prefix | Hook | Expands to |
|---|---|---|
umh | useMemo | const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]) |
ucbh | useCallback | const memoizedCallback = useCallback(() => { … }, [a, b]) |
uth | useTransition | const [isPending, startTransition] = useTransition() |
udvh | useDeferredValue | const deferredValue = useDeferredValue(value) |
Everything else…
Description from the VS Code Marketplace listing.
- cursor
- devin-desktop
- Hooks
- javascript
- jsx
- luasnip
- neovim
- open-vsx
- React
- react-hooks
- snippet
- snippets
- tsx
- typescript
- vscode
- vscodium
- windsurf
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Ratings over time
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Installs on a linear scale. Placement is projected from installs, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (5)Similar VS Code Marketplace Snippets plugins
All 20 React Hooks Snippets alternativesData source
Install counts, average rating, and rating counts come from the public Visual Studio Marketplace gallery API. Installs are cumulative and exclude updates.
Listing: https://marketplace.visualstudio.com/items?itemName=AlDuncanson.react-hooks-snippets. First seen Oct 16, 2026; last successful collection Oct 20, 2026. See the methodology.