A customizable and simple snackbar component for react native

React Native SnackBar (rn-snackbar-component)

A snackbar component for Android and iOS, customizable and simple.

See Google Material Design for more info on Snackbars.

Installation

npm install --save rn-snackbar-component

Basic Usage

import SnackBar from 'rn-snackbar-component'

Code

Simple

    <SnackBar
      visible={true}
      message="Hello There!"
      actionHandler={() => {
        console.log("snackbar button clicked!")
      }}
      action="let's go"
    />

Advanced

    <SnackBar
      visible={true}
      message={(
         <View style={{ flex: 1, flexDirection: 'column'}}>
           <Text>{title}</Text>
           <TouchableOpacity activeOpacity={0.5} onPress={doSomething}>
             <Text>{subtitle}</Text>
           </TouchableOpacity>
         </View>
      )}
      actionHandler={() => {
        console.log("snackbar button clicked!")
      }}
      action={(
        <Icon name="close" size={20} />
      )}
      autoHidingTime={0}
    />

Options

Prop Type Effect Default Value
visible boolean Show or hide the snackbar none
message string / element The main message text / your custom component none
actionHandler function Function to be called when button is pressed, if absent no action button is shown none
action string / element The text of action button, will be uppercased automatically / your custom component none
containerStyle object The styling of snackbar container none
actionTextStyle object action button text style { color: 'orange'}
actionContainerStyle object your custom component for action's style none
messageStyle object The style of message text { color: '#ffffff'}
distanceCallback function Function to be caled whenever snackbar moves in and out or changes layout, the function will be supplied a number indicating distance taken up by snackbar on bottom. (distance) => {}
bottom number The starting bottom position of snackbar 0
top number The starting top position of snackbar 0
position string The position of the snackbar: top, bottom bottom
autoHidingTime number How many milliseconds the snackbar will be hidden 0 (Do not hide automatically)

Note

  • When visible prop is changed, the snackbar will be animated in/out of screen
  • When position is top/bottom, you can specify those properties, e.g.
    position="top" top={10} (or) position="bottom" bottom={10}

GitHub