A snackbar component for Android and iOS
Android | IOS |
---|---|
- Install:
-
Import it in your JS:
import Snackbar from 'react-native-snackbar';
import React from 'react';
import {Button, View, StyleSheet, SafeAreaView} from 'react-native';
import Snackbar from 'rn-animated-snackbar';
const App = () => {
const [visible, setVisible] = React.useState(false);
const onToggleSnackBar = () => setVisible(!visible);
const onDismissSnackBar = () => setVisible(false);
return (
<SafeAreaView style={styles.safeAreaContainer}>
<View style={styles.container}>
<Button
title={visible ? 'Hide' : 'Show'}
onPress={onToggleSnackBar}
style={styles.buttonStyle}
/>
<Snackbar
visible={visible}
onDismiss={onDismissSnackBar}
text={'Hello World'}
action={{
label: 'Hide',
onPress: () => {
setVisible(true);
},
}}
duration={Snackbar.LENGTH_MEDIUM}
containerStyle={styles.snackbarContainer}
/>
</View>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
safeAreaContainer: {
flex: 1,
},
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
snackbarContainer: {
backgroundColor: '#484848',
position: 'absolute',
left: 0,
right: 0,
bottom: 0,
},
});
export default App;
Key | Data type | Default value? | Description |
---|---|---|---|
visible |
boolean |
Required. | Show or hide snackbar |
text |
style |
Required. | The message to show. |
textStyle |
style |
undefined |
Text message style |
duration |
number | Snackbar.LENGTH_SHORT |
How long to display the Snackbar. |
action |
object (described below) |
undefined (no button) |
Optional config for the action button (described below). |
onDismiss |
function |
Required | Callback called when Snackbar is dismissed. The visible prop needs to be updated when this is called. |
containerStyle |
style |
undefined |
Snackbar container style |
Where duration
can be one of the following (timing may vary based on device):
Snackbar.LENGTH_SHORT
(3s)Snackbar.LENGTH_MEDIUM
(5s)Snackbar.LENGTH_LONG
(10s)Snackbar.LENGTH_INFINITY
(INFINITE)
The optional action
object can contain the following options:
Key | Data type | Default value? | Description |
---|---|---|---|
label |
string |
Required. | Label of the action button. |
accessibilityLabel |
string |
undefined |
The color of the button text. |
labelStyle |
style |
undefined |
Label text style. |
onPress |
function |
undefined (Snackbar is simply dismissed) |
A callback for when the user taps the button. |