This is a collection of my best practice for architecting and building awesome (large, robust and maintainable) React Native App.
The following topics will be fully discussed in the wiki pages and explain why it's important and best practice in a React Native project.
Run yarn add babel-plugin-module-resolver
and config you alias in babel.config.js
. Easy to solve the deep dependencies.
Integrate react-native debugger
into the project, then it will be easy to debug the actions and states. Best dev debug tool for React Native.
- Using Javascript dev tools in safari and set break point in bundle.js.
- Why redux?
- How redux works?
- Are there any other frameworks can be used?
- Source code analysing.
- The magic and power in RxJS (async actions).
- Why it may be the best state managment library.
- async redux middleware comparision
- Common use cases, common operators.
- How styled-components make you UI and styles clean?
- Comparing with style-sheet, why it is the best practice?
- The power for styled-components to build reuseble components
- Using react-native-firebase and integrate firbase into Node.js to build whole a notification system
- Config tips and the difference between foreground and background notification.
- react-native-push-notification
- react-native-camera
- react-native-maps
- react-native-device-info
- lottie-react-native (animation)
- react-native-vector-icons
- react-native-permissions (have a problem when publish the app on iOS)
- react-native-linear-gradient (provide a customized component to use it)
- react-native-keychain
- react-native-picker (note the different behavior on iOS and android)
- react-native-tab-view
- react-native-slider
- react-native-image-picker
- react-native-image-editor
- react-native-blur
- react-native-share
- react-navigation
- react-native-elements
- react-native-touch-id
- react-navigation-redux-helpers
- redux-form
- react-native-swiper
- Why reselct is powerful and valuble to the project?
- How to use it?
- Life time for the app (iOS, android).
- Life time for the components.
- How to store specific states in the cache?
- How to config the redux to do it?
- How to use react-redux, RxJS to build reusable components. (It's not only a simple componente but also can be a complex product logic contains many pages which can be reused in multi cases)
- Using react-native-mixpanel
- Send actions with epics
- List of common errors when developing and debugging React Native app.
- Many problems related to specific React Native version.