2.3.0 • Published 3 years ago

react-native-smart-tip v2.3.0

Weekly downloads
502
License
MIT
Repository
github
Last release
3 years ago

react-native-smart-tip

React-native smart tip, including Toast、Modal、SnackBar

GitHub license npm

2021.4

In react native >= 0.62, the new LogBox component would impact this component's initialization. To make it work we have to explicitly insert a mount point in your app like this

import { WRootToastApp } from 'react-native-smart-tip'

// in your entry file like `App.js`

return (
  <WRootToastApp>  // <- use WRootToastApp to wrap your root component
    <App />
  </WRootToastApp>
);

2020.5

  1. Add property isShowShadow to WSnackBar and WToast
  2. Add sliding hide function for WSnackBar

2020.3 Show Toast above Modal (Compatible with Android and iOS)

npm.io

import { ModalShowToastView } from 'react-native-smart-tip'

getToastInstance = (toastInstance) => {
    this.toastInstance = toastInstance;
}

<Modal>
	<View>
		<ModalShowToastView toastInstance={this.getToastInstance} />
	</View>
</Modal>

this.toastInstance({data: 'toast'})

2019.7 Remove the method in the componentWillMount method. Compatible with future React 17 versions, React-Native@0.6 version.

Installation

yarn add react-native-smart-tip
or
npm i react-native-smart-tip --save 

npm.io

Features

Toast

npm.io

SnackBar

npm.io

Modal

npm.io

Show tips on Modal

Tip: Modal shows that modal can only be used on Android issue

npm.io

Usage

WToast
import {WToast} from 'react-native-smart-tip'

// Base 
show = () => {
	WToast.show({data: 'hello world'})
}

// Other
show = () => {
	const toastOpts = {
	    data: 'Success',
	    textColor: '#ffffff',
	    backgroundColor: '#444444',
	    duration: WToast.duration.LONG, //1.SHORT 2.LONG
	    position: WToast.position.TOP, // 1.TOP 2.CENTER 3.BOTTOM
	    icon: <Image source={require('../data/img/success.png')} style={{width: 32,height: 32,resizeMode: 'contain'}}/>
	}
	
	WToast.show(toastOpts)
}
WToast API
PropsTypeRequiredDefaultDescription
dataStringtrue' 'Displayed content
durationNumberfalseWToast.duration.SHORTThe duration of the toast
positionNumberfalseWToast.position.BOTTOMDisplayed position
inEasingEasingfalseEasing.elastic(1)Admission animation
textColorStringfalse'white'font color
backgroundColorStringfalse'black'background color
iconComponentfasseundefinedImage to be displayed
isShowShadowbooleanfalsetrueShadow effect

WSnackBar
import {WSnackBar} from 'react-native-smart-tip'

// Base 
show = () => {
	WSnackBar.show({data: 'hello world'})
}

// Other
show = () => {
	const snackBarOpts = {
	    data: 'Please check the network first.',
	    position: WSnackBar.position.BOTTOM, // 1.TOP 2.CENTER 3.BOTTOM
	    duration: WSnackBar.duration.LONG, //1.SHORT 2.LONG 3.INDEFINITE
	    textColor: '#ff490b',
	    backgroundColor: '#050405',
	    actionText: 'Sure',
	    actionTextColor: '#ff490b',
	    onActionHide: (isSlideHide)=>{
	    	// Click Action
	    },
	}
	
	WSnackBar.show(snackBarOpts)
}
WSnackBar API
PropsTypeRequiredDefaultDescription
dataStringtrue' 'Displayed content
statusBarHeightNumberfalse-1Prevent Android statusBar
heightNumberfalse44Height to display
durationNumberfalseWSnackBar.duration.SHORTThe duration of the toast
positionNumberfalseWSnackBar.position.BOTTOMDisplayed position
inEasingEasingfalseEasing.linearAdmission animation
textColorStringfalse'white'font color
backgroundColorStringfalse'black'background color
actionTextStringfalseundefinedaction text
actionTextColorStringfalse'white'action text color
isAllowSlideExitbooleanfalsetrueWhether to run sliding hide
onActionHideFunctionfalseundefinedlistener click
isShowShadowbooleanfalsetrueShadow effect
numberOfLinesnumberfalse1Maximum number of rows

WModal
import {WModal} from 'react-native-smart-tip'

// Base 
show = () => {
	WModal.show({data: 'hello world'})
}

// Other
show = () => {
	const modalOpts = {
	    data: 'Loading',
	    textColor: '#fff',
	    backgroundColor: '#444444',
	    position: WModal.position.CENTER,
	    icon: <ActivityIndicator color='#fff' size={'large'}/>
	}
	
	WModal.show(modalOpts)
}
WToast API
PropsTypeRequiredDefaultDescription
dataStringtrue' 'Displayed content
positionNumberfalseWToast.position.BOTTOMDisplayed position
inEasingEasingfalseEasing.elastic(1)Admission animation
textColorStringfalse'white'font color
backgroundColorStringfalse'black'background color
iconComponentfasseundefinedImage to be displayed
onRequestCloseFunctionfalseundefinedAndroid Back
MIT Licensed