Vibration
Vibrates the device.
Example
import React from 'react';
import {Button, Platform, Text, Vibration, View, StyleSheet} from 'react-native';
import {SafeAreaView, SafeAreaProvider} from 'react-native-safe-area-context';
const Separator = () => {
return <View style={Platform.OS === 'android' ? styles.separator : null} />;
};
const App = () => {
const ONE_SECOND_IN_MS = 1000;
const PATTERN = [
1 * ONE_SECOND_IN_MS,
2 * ONE_SECOND_IN_MS,
3 * ONE_SECOND_IN_MS,
];
return (
<SafeAreaProvider>
<SafeAreaView style={styles.container}>
<Text style={[styles.header, styles.paragraph]}>Vibration API</Text>
<Button title="Vibrate once" onPress={() => Vibration.vibrate()} />
<Separator />
<Button
title="Vibrate with pattern"
onPress={() => Vibration.vibrate(PATTERN)}
/>
<Separator />
<Button
title="Stop vibration pattern"
onPress={() => Vibration.cancel()}
color="#FF0000"
/>
</SafeAreaView>
</SafeAreaProvider>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
paddingTop: 44,
padding: 8,
},
header: {
fontSize: 18,
fontWeight: 'bold',
textAlign: 'center',
},
paragraph: {
margin: 24,
textAlign: 'center',
},
separator: {
marginVertical: 8,
borderBottomColor: '#737373',
borderBottomWidth: StyleSheet.hairlineWidth,
},
});
export default App;
Reference
Methods
cancel() Android iOS
static cancel();
Call this to stop vibrating after having invoked vibrate() with repetition enabled.
vibrate() Android iOS
static vibrate(
pattern?: number | number[],
repeat?: boolean
);
Triggers a vibration with a fixed duration.
On Android, the vibration duration defaults to 400 milliseconds, and an arbitrary vibration duration can be specified by passing a number as the value for the pattern argument. On iOS, the vibration duration is fixed at roughly 400 milliseconds.
The vibrate() method can take a pattern argument with an array of numbers that represent time in milliseconds. You may set repeat to true to run through the vibration pattern in a loop until cancel() is called.
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
| pattern | number (Android) / array of numbers | 400 |
Vibration duration in milliseconds / Vibration pattern as an array of numbers in milliseconds. |
| repeat | boolean | false |
Repeat vibration pattern until cancel(). |
Last updated: Jul 07, 2026

