
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@mhpdev/react-native-haptics
Advanced tools
A high-performance React Native library for iOS haptics and Android vibration effects
A high-performance React Native library for iOS haptics and Android vibration effects.
Only New Architecture: This library is only compatible with the new architecture. If you're using React Native 0.76 or higher, it is already enabled. However, if your React Native version is between 0.68 and 0.75, you need to enable it first. Click here if you need help enabling the new architecture
🚀 High-performance library built with Turbo Modules for Android and iOS
🎛️ Provides essential methods for triggering native haptic feedback
🤖 Supports a wide range of Android-specific vibration effects
🛠️ Easy to use with simple APIs
🧵 Executes on the UI thread to ensure instant feedback
✅ Fully type-safe and written in TypeScript
Install the package using either npm or Yarn:
npm install @mhpdev/react-native-haptics
Or with Yarn:
yarn add @mhpdev/react-native-haptics
For iOS, navigate to the ios directory and install the pods:
cd ios && pod install
For Expo projects, follow these steps:
Install the package:
npx expo install @mhpdev/react-native-haptics
Since it is not supported on Expo Go, run:
npx expo prebuild
To learn how to use the library, check out the usage section.
The following benchmark results are for 200 time executions (Click here to see the full report repository):
| Effect | React Native Haptics | Expo Haptics | Speedup (RN / Expo) |
|---|---|---|---|
| Impact Heavy | 0.779 | 0.365 | 0.779 / 0.365 ≈ 2.13x |
| Notification Success | 1.378 | 0.365 | 1.378 / 0.365 ≈ 3.78x |
| Selection | 0.602 | 0.350 | 0.602 / 0.350 ≈ 1.72x |
| Effect | React Native Haptics | Expo Haptics | Speedup (RN / Expo) |
|---|---|---|---|
| Impact Heavy | 9.766 | 2.902 | 9.766 / 2.902 ≈ 3.37x |
| Notification Success | 10.837 | 3.433 | 10.837 / 3.433 ≈ 3.16x |
| Selection | 11.236 | 3.037 | 11.236 / 3.037 ≈ 3.70x |
| Android Haptics | 1.879 | 3.238 | 3.238 / 1.879 ≈ 1.72x (Expo is faster) |
import React from 'react';
import Haptics from '@mhpdev/react-native-haptics';
import {SafeAreaView, StyleSheet, Text, TouchableOpacity} from 'react-native';
const App: React.FC = () => {
const onImpactPress = () => {
Haptics.impact('heavy');
};
return (
<SafeAreaView style={styles.container}>
<TouchableOpacity style={styles.button} onPress={onImpactPress}>
<Text style={styles.buttonText}>Trigger Heavy Impact</Text>
</TouchableOpacity>
</SafeAreaView>
);
};
export default App;
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
button: {
padding: 12.5,
borderRadius: 5,
backgroundColor: 'skyblue',
},
buttonText: {
fontSize: 22,
fontWeight: '600',
},
});
To become more familiar with the usage of the library, check out the example project.
To mock the package's methods and components using the default mock configuration provided, follow these steps:
Create a file named @mhpdev/react-native-haptics.ts inside your __mocks__ directory.
Copy the following code into that file:
jest.mock('@mhpdev/react-native-haptics', () =>
require('@mhpdev/react-native-haptics/jest'),
);
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
FAQs
A high-performance React Native library for iOS haptics and Android vibration effects
We found that @mhpdev/react-native-haptics demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.