Feature based Architecture for developing Scalable React Native Apps 🚀 using react, redux, sagas and hooks
MIT License
React NativeFeature Boilerplate is a starting point for React Native application. This project is configured with redux, redux saga and redux persist. Uses latest version of react-navigation (v5)
This Architecture is optimised for large scale projects. If you are beginner who just started using react native, I would suggest starting with a type based architecture and slowly switching to this architecture.
React-Native-BoilerPlate for beginners.
/app
- Contains our React Native App codebase
/api
- Api module class. Each file will be feature based like ProductAPI, LoginAPI etc/components
- universal shared components used by others./config
- Universal styles,images,metrics etc../features
- Config files
login
- Each folder will be a feature like this.
reducers
- Reducer associated with this feature [Mostly one, can be multiple]sagas
- Sagas related with this particular feature [can have single or muliple sagas associated]selectors
- selectors associated with featurecomponents
- Components associated with this feature.containers
- Containers associated with this feature [Container - Component Structure]/lib
- lib helper files/navigation
- All naviagtion related stuff including helpers functions and navigation stack
NavigationService.js
- Service class for navigation - can be used without using propsNavigationStack.js
- Stack to define naviagtion. you can split things further if needed/store
- Includes everything you need to set up store.
reducers
- Combines all feature based reducerssagas
- Combines all feature based sagasindex.js
- Set ups store and export thingsgit clone https://github.com/victorkvarghese/react-native-boilerplate.git <your project name>
cd <your project name>
.git
folder, rm -rf .git
$ npx react-native-rename <newName>
yarn
or npm install
to install dependenciesnpm start
react-native run-android
ios/YourReactProject.xcworkspace
in XcodeRun
after selecting the desired devicePRs are welcome