Skip to content

Repository files navigation

React Native Step Navigation

npm versionLicenseRuns with Expo

📚 React Native Step Navigation is a package that allows you to handle step-by-step navigation in React Native applications. It is designed to work seamlessly with Expo and Bare ReactNative, making it easy to integrate into your projects. 🚀

Example GIF

For a complete example and more advanced usage, please refer to the example folder in this repository. 📂

Installation

You can install this package using npm or yarn. Make sure you have Expo installed in your project. 📦

npm install react-native-step-navigation

or

yarn add react-native-step-navigation

Usage

To get started, import the StepNavigationProvider component from the package and use it to wrap your application. ⚙️

Important: the StepNavigationProvider must be wrapping your NavigationContainer

import{StepNavigationProvider}from'./react-native-step-navigation'importAppRoutesfrom'./src/routes/app.routes'exportdefaultfunctionApp(){return(<StepNavigationProvider><AppRoutes/></StepNavigationProvider>)}

Now, where your NavigationContainer is, add the onStateChange function, which is exported by the useStepNavigation() hook

...
import{useStepNavigation}from'../../react-native-step-navigation'constAppRoutes=()=>{const{ onStateChange }=useStepNavigation()return(<NavigationContaineronStateChange={onStateChange}>
[ ... your routes ... ]
</NavigationContainer>)}exportdefaultAppRoutes

Now to use the Step Navigation, is very similar to the Stack navgation usage, you just have to create your step navigation object, lets name it "Step", wrap your screens with Step.Navigator, and then create your screens with Step.Screen.

...
import{createStepNavigation}from'react-native-step-navigation'constStep=createStepNavigation()constStepRoutes=()=>{return(<Step.Navigator><Step.Screenname='Step1'component={StepScreen}/><Step.Screenname='Step2'component={StepScreen2}/><Step.Screenname='Step3'component={StepScreen3}/><Step.Screenname='Step4'component={StepScreen4}/></Step.Navigator>)}exportdefaultStepRoutes

Props

StepNavigator Props

PropTypeDescriptionRequired
closeRoutestringRoute to navigate when the close button is pressed.No
titlestringTitle to display in the header.No
headerbooleanFlag to show/hide the header.No
progressBarStyleIProgressBarStyleStyle object for customizing the progress bar appearance.No
headerStyleViewStyleStyle object for customizing the header container.No
titleStyleTextStyleStyle object for customizing the title text.No
iconCloseColorstringColor of the close button icon.No
iconBackColorstringColor of the back button icon.No

Step.Screen Props

PropTypeDescriptionRequired
namestringName of the screen.Yes
componentanyComponent to render for the step.Yes
headerbooleanFlag to show/hide the header for the step.No
progressBarbooleanFlag to show/hide the progress bar for the step.No
styleViewStyleStyle object for customizing the step container.No
backRoutestringRoute to navigate when the back button is pressed for the step.No

Dependencies

Contributing

Contributions are welcome! If you have any bug reports, feature requests, or suggestions, please create an issue on GitHub.

If you want to contribute code, please follow the contribution guidelines in this repository.

License

This project is licensed under the MIT License. 📜

About

A react native library to handle step navigations

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages