Start typing to search packages!
pretty-react-hooks
By @notmirrox
Roblox
Mirrored🌺 pretty-react-hooks-luau
An opinionated collection of useful hooks and utilities for React on Roblox, ported to Luau.
This is a Luau port of littensy/pretty-react-hooks (originally written for roblox-ts). If you are on roblox-ts, use the original @rbxts/pretty-react-hooks package.
If you find a bug or have a feature request, please open an issue.
📦 Installation
This package is published to Wally. Add it to your wally.toml:
[dependencies]
PrettyReactHooks = "notmirrox/pretty-react-hooks@0.1.0"
Then run:
wally install
Wally packages are also consumable from pesde via its wally compatibility index, so you can depend on this package from either toolchain.
📊 Port Status
✅ Ported: useAsync, useAsyncCallback, useAsyncEffect, useBindingListener, useBindingState, useCamera, useComposedRef, useDebounceCallback, useDebounceEffect, useDebounceState, useDeferCallback, useDeferEffect, useDeferState, useEventListener, useInterval, useKeyPress, useLatest, useLatestCallback, useLifetime, useMountEffect, useMouse, usePrevious, useTagged, useThrottleCallback, useThrottleEffect, useThrottleState, useTimeout, useTimer, useUnmountEffect, useUpdate, useUpdateEffect, useViewport, binding util.
⏳ Pending: hoarcekat util.
🚫 Skipped: useMotion, useSpring — use react-ripple instead.
🌻 Contributing
Contributions are welcome. If you change a hook, update its tests and documentation as well.
To get started:
- Install the toolchain with Rokit:
This installsrokit installrojo,wally,wally-package-types,selene, andstyluaat the versions pinned inrokit.toml. - Install dependencies and inject Luau types into the resolved packages:
Regeneratewally install wally-package-types --sourcemap sourcemap.json Packages wally-package-types --sourcemap sourcemap.json DevPackagessourcemap.jsonwithrojo sourcemap default.project.json -o sourcemap.jsonwhenever the project structure changes. - Lint and format:
selene src stylua src - Serve the project to Roblox Studio:
rojo serve - Run tests with TestEZ. The recommended workflow is the TestEZ Companion VS Code extension, which discovers and runs
*.spec.luaufiles inside Roblox Studio whilerojo serveis connected.
Recommended VS Code extensions:
🙏 Credits
Originally created by @littensy as pretty-react-hooks for roblox-ts. Ported to native Luau by @NotMirrox.
📝 License
pretty-react-hooks-luau is licensed under the MIT License.
Package Details
Install command (Click to copy)
Version
0.1.1
License
MIT
Safe for commercial use
Automated license review — not legal advice.
