Skip to content

Latest commit

 

History

History
184 lines (106 loc) · 8.12 KB

File metadata and controls

184 lines (106 loc) · 8.12 KB

React-native

https://reactnative.dev/docs/touchablehighlight

https://reactnative.dev/docs/touchableopacity

https://reactnative.dev/docs/touchablewithoutfeedback

https://reactnative.dev/docs/pressable

  • You know how to use and style touchable components
  • You know the difference between touchable components
  • You know when to use FlatList, SectionList and ScrollView
  • You know how to optimize FlatList and SectionList for large data sets using optimization props eg. removeClippedSubviews, getItemLayout, keyExtractor 📚
  • You know how to build optimized components for Lists 📚
  • You know how to use View, Text, TextInput, Button, Switch, ActivityIndicator, Modal
  • You know how to use RefreshControl for scrollable views 📚
  • You know how to use Image component
  • You know how to handle all the Image events
  • You can create animated Image loader
  • You know how to use images from app's resources
  • You know how to control image cache on iOS
  • You know how to show alert
  • You know how to render proper alert button variant on iOS and Android
  • You know how to get user's preffered color scheme
  • You know how to listen on color scheme change
  • You can handle listening on app state
  • You know Android-only events
  • You can handle listening on window size
  • You know when and how to use runAfterInteractions
  • You know when and how to use runAfterInteractions
  • You know when and how to use interactionHandle
  • You can hide keyboard
  • You can listen on keyboard events
  • You know how to animate layout with keyboard
  • You know how to open url
  • You know how to configure app deep linking
  • You know how to get an initial deep link which was used to open an app
  • You know how to listen on deep links when the app is opened in foreground
  • You know how to handle app navigation using received deep link
  • You know how to create pan responder
  • You know how to handle multiple pan responders
  • You can prepare an animation using pan responder events
  • You know how to recognize multi-touch gestures
  • You know how to define hardware Android back button behavior

https://reactnative.dev/docs/animated

https://reactnative.dev/docs/animatedvalue

https://reactnative.dev/docs/animatedvaluexy

https://reactnative.dev/docs/transforms

https://reactnative.dev/docs/easing

  • You know how to create decay animation
  • You know how to create spring animation
  • You know how to create timing animation with easing
  • You can create animatable component
  • You know how to compose animations
  • You know how to use Animated.Value
  • You know how to use native driver
  • You know how to use Animated.Event
  • You know how to interpolate values
  • You know how to do Animated.Value calculations
  • You know how to define stylesheets per component
  • You know how to handle media queries for stylesheets
  • You can manually link iOS library 📚

https://reactnative.dev/docs/native-modules-ios

https://reactnative.dev/docs/native-modules-android

  • You know how to create bridge between existing objC/Swift/Java module and react-native

Contribution

We are very open to contributions to extend or change the requirements based on your gut and experience. To contribute you can use a pull request which will be later validated by our technical team and added to the main docs.

If you will spot any issues please add them in the Issues section.

Credits

This page is maintained by the 🔹 Flairs.ai and 🇵🇱 Apptension teams.

If you would like to create a dedicated Developer Handbook for your company, you can e-mail us 👉 [email protected]

License

MIT License

© 2020 Flairs Sp. z o.o.

Built and maintained by Flairs and Apptension.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.