Super Starter Kit
βββ android
βββ assets ---------------------> fonts and other native assets
βββ ios
βββ scripts
βββ node_modules
βββ src
β βββ components -------------> reusable components
β βββ res -------------> static files
β βββ screens -------------> screen components for navigation
β β βββ AccountSetup -------> Setup navigation
β β β βββ .... -------------> Screen folders
β β β βββ index.ts -------> Setup navigation config
β β βββ Authentication -----> Logged out user navigation
β β β βββ .... -------------> Screen folders
β β β βββ index.ts -------> Setup navigation config
β β βββ Main -------------> Logged in user navigation
β β β βββ .... -------------> Tab Group folders
β β β βββ index.ts -------> Tab navigation config
β β βββ index.ts ------------------------> root app navigation config
β βββ services ------------> contain the api stuff
β βββ store
β β βββ actions
β β βββ reducers
β β βββ selectors
β β βββ index.tsx ------------> Redux and redux middleware configurations
β βββ thunks
β βββ types
β βββ utils
β βββ index.tsx ------------> Root component
βββ .env
βββ .env.production
βββ .env.staging
Correct typing is paramount to a successful and bug-free implementation. Once mastered, it adds minimal overhead to the effort required (can even speed up development time), assists in clarity of code, raises and eliminates potential bugs far before they otherwise would be noticed.
- Use hooks: for state, lifecycle, redux / global state
- Separate this complex/stateful logic into the 'MyComponent.container.tsx' file
- Define template with minimal logic in 'MyComponent.view.tsx' file
- Define the props in your 'MyComponent.props.ts' file