react-native-onboard-carousel
Version:
A react native customizable onboarding component
143 lines (109 loc) โข 4.03 kB
Markdown
[](https://www.npmjs.com/package/react-native-onboard-carousel)
[](https://www.npmjs.com/package/react-native-onboard-carousel)
[](https://github.com/prettier/prettier)
<H3 align="center"><strong>React Native Onboard Carousel</strong></H3>
<div align="center">Build a cool onboarding in your app fast</div>

<div align="center">
<a href="https://github.com/Abuka-Victor/react-native-onboard-carousel">GitHub</a>
<span> ยท </span>
<a href="https://snack.expo.dev/@abuka/react-native-onboard-carousel-demo?platform=ios">Demo</a>
</div>
## Introduction
This library is an onboarding carousel component which can be used for effortless user onboarding and focuses on saving developer time.
## Why
- The Onboarding Carousel that Doesn't Suck: Bold and attention-grabbing (use with caution!).
- Level Up Your App Onboarding: Appeals to developers seeking improvement.
- The Missing Piece for Your Onboarding Puzzle: Creates a sense of necessity.
## Features
- ๐จ Fully customizable configurations
- ๐ง Load images locally or from the web or design a custom image component
- โจ Beautiful default UI
- ๐ฆ Lightweight
- ๐ Works with Expo by default
## Install
Install the package from your command line.
#### With yarn
```bash
yarn add react-native-onboard-carousel
```
#### With npm
```bash
npm install react-native-onboard-carousel
```
## Quick start
Place the `Onboard` component anywhere in your app. It will automatically take up the entire screen.
```jsx
import { Image, StyleSheet } from 'react-native';
import Onboard from 'react-native-onboard-carousel';
import image1 from './assets/image1.png';
import image2 from './assets/ipad.jpeg';
const App = function () {
return (
<Onboard
slides={[
{
id: 1,
ImageComponent: () => {
return (
<Image
source={image1}
resizeMode="contain"
style={styles.image}
accessibilityRole="image"
/>
);
},
title: 'Ride like a king',
subtitle: 'The future of transport is now in your hands',
outro: 'Starting from $10',
},
{
id: 2,
ImageComponent: () => {
return (
<Image
source={image2}
resizeMode="contain"
style={styles.image}
accessibilityRole="image"
/>
);
},
title: 'Order in real time',
subtitle: 'At the best rates',
outro: '$99.99 Cap',
},
{
id: 3,
imageUri:
'https://t3.ftcdn.net/jpg/06/36/01/48/360_F_636014891_ne8XUB4YU4WoMeUUjr0TU6wH38wNTU6V.jpg',
title: 'Some other important text',
subtitle: 'Some subtitle',
webImage: true,
},
]}
skipEnabled={true}
onDone={() => console.log('Move to another screen')}
backgroundColor={'#fff'}
/>
);
};
const styles = StyleSheet.create({
image: {
width: '100%',
flex: 0.6,
},
});
export default App;
```
### Contributing
If you wish to contribute please see [Contributing.md](./Contributing.md).
## Customization
`react-native-onboard-carousel` is designed to be very customizable. You can use the default UI or create your own by implementing the provided interfaces
## Get in touch
Questions? Suggestions? Feel free to [open an issue](https://github.com/Abuka-Victor/react-native-onboard-carousel/issues), [submit a PR](https://github.com/Abuka-Victor/react-native-onboard-carousel/pulls), or contact me.
## Authors
- Victor Abuka ([LinkedIn](https://www.linkedin.com/in/victor-abuka/))
## License
ISC License