๐Ÿช Custom React & React Native Hooks

A comprehensive collection of reusable custom hooks to simplify your development workflow

โš›๏ธ React ๐Ÿ“ฑ React Native ๐Ÿ“˜ TypeScript ๐Ÿš€ Expo
โญ Star on GitHub Explore Hooks

Why Custom Hooks?

Build faster, cleaner, and more maintainable applications

โ™ป๏ธ

Reusable Logic

Write once, use everywhere. Share common functionality across your entire application without code duplication.

๐Ÿงน

Clean Code

Keep your components focused on rendering while hooks handle complex logic and side effects.

โšก

Faster Development

Skip boilerplate code and focus on building features. Pre-built hooks for common use cases.

๐Ÿ”ง

Easy to Customize

All hooks are modular and well-documented. Modify them to fit your specific needs.

๐Ÿ“š

Well Documented

Each hook includes usage examples and clear documentation to help you get started quickly.

๐ŸŽฏ

Type Safe

Built with TypeScript for better developer experience and fewer runtime errors.

Available Hooks

Browse our collection of production-ready custom hooks

๐Ÿ”„ API Calling

Reusable hooks for performing API calls with Axios. Centralizes logic for loading, error handling, and responses.

๐Ÿ” Biometric Authentication

Authenticate users using biometric methods like Fingerprint, Face ID, or Iris with expo-local-authentication.

๐Ÿ“Š CSV Upload

Handle CSV file upload and parsing in React Native/Expo applications with progress tracking and validation.

๐Ÿ”™ Disable Android Back Button

Disable or customize the Android back button behavior in authentication flows, modals, or splash screens.

๐Ÿ“ฒ Firebase Cloud Messaging

Handle FCM tokens, request permissions, and manage notifications in foreground, background, and quit states.

โš ๏ธ Force Update

Check app version and force users to update if they are on an older version using react-native-version-check.

๐Ÿ™ˆ Hide Tab Bar

Dynamically hide the bottom tab bar in specific screens using React Navigation.

๐Ÿ–ผ๏ธ Image Picker

Select images from camera or gallery using expo-image-picker with full customization options.

๐Ÿ’ณ In-App Purchases

Handle in-app subscriptions or one-time purchases using react-native-iap with complete purchase flow.

๐Ÿ” Axios Interceptors

Attach authorization headers and handle requests/responses with or without refresh token logic.

๐ŸŒ Internet Status

Track internet connectivity using @react-native-community/netinfo with real-time connection status.

โŒจ๏ธ Keyboard Visibility

Track keyboard visibility and height to dynamically adjust UI based on keyboard presence.

๐Ÿ–ผ๏ธ Preload Local Images

Preload local images before displaying them using expo-asset to improve app performance and caching.

๐Ÿ“ก Pusher/Reverb

Real-time WebSocket communication using Pusher/Reverb with Laravel Echo support for public and private channels.

๐Ÿ“ Responsiveness

Implement responsive layouts with or without third-party libraries using Dimensions and percentage calculations.

๐Ÿ” Social Auth

Manage social logins such as Google, Facebook, or Apple with platform-specific implementations.

๐Ÿ’ณ Stripe Payment

Integrate Stripe Payment Sheet with @stripe/stripe-react-native including customizable appearance and callbacks.

17+

Custom Hooks

100%

TypeScript

โš›๏ธ

React & React Native

๐Ÿš€

Production Ready

๐Ÿ‘‹ Meet the Developer

The mind behind CustomHooks

๐Ÿ‘จโ€๐Ÿ’ป

Muneeb Qureshi

Full Stack Developer & React Native Enthusiast

Hello! I'm Muneeb Qureshi, the creator of CustomHooks. I'm passionate about building reusable, efficient, and well-documented code that helps developers save time and write cleaner applications.

This project was born from my experience developing React and React Native applications. I noticed that many developers (including myself) were writing similar logic repeatedly. CustomHooks is my contribution to the community - a collection of battle-tested hooks that you can use in your projects.

Technologies I Love:

โš›๏ธ React ๐Ÿ“ฑ React Native ๐Ÿ“˜ TypeScript ๐Ÿš€ Expo ๐Ÿ’ป Node.js

๐Ÿค Contributing

We welcome contributions! Help us build a better collection of reusable hooks

๐Ÿ“

Code Guidelines

Use TypeScript for type safety, keep code clean and modular, and ensure hooks are reusable across projects.

๐Ÿ“š

Documentation

Include brief comments, usage examples, and ensure hooks are placed in logically named files.

๐Ÿงช

Testing

Write simple tests or usage scenarios to demonstrate how your hook works and validate its functionality.

๐Ÿ”€

Pull Requests

Open a pull request with a clear description of your changes. We'll review and merge quality contributions.

๐Ÿ›

Report Issues

Found a bug or have a feature request? Open an issue on GitHub and help us improve the project.

โญ

Show Support

Star the repository if you find it useful and share it with others in the React & React Native community.

Read Contributing Guide View on GitHub

Ready to Get Started?

Start using these custom hooks in your projects today and accelerate your development

View on GitHub Browse Documentation
โ†‘

Hook Details

Loading hook details...