ReactNative Scripts
node version use 16
$ brew install node@16
$ brew link --overwrite node@16
TODO:
Usage:
clean project:
$ ./init.sh your_new_project
or with tab:
$ ./tabview_init.sh your_new_project
or with bottom tab:
$ ./bottom_init.sh your_new_project
(remember react-native link react-native-vector-icons, keep Info.plist and then unlink)
用 ReactNative 開發的 Apps
- https:/github.com/ReactNativeNews/React-Native-Apps
Packages
DB (Watermelon DB)
react-native-eject
- 主要是重新產生 ios/android, 這對更新版本很有用
device info
- https://github.com/react-native-device-info/react-native-device-info
- 比如可以使用 DeviceInfo.getVersion()
react-native-auto-height-image
react-native-background-upload
rxjs
react native multiple select
React Native Drag Text Editor
In App Purchase
- 說明:https://medium.com/better-programming/react-native-in-app-purchase-subscription-bb7ad18ec5a0
- https://github.com/dooboolab/react-native-iap
App Step by Step 說明
背景預設圖片
網路相關設定
附近訊息
use state persist
List
Template
Network (check if no network)
Camera
- https://github.com/wix/react-native-camera-kit
- https://github.com/mrousavy/react-native-vision-camera
Device Permission
styled-components
Stylus
Material Design
UI Component
- http://nativebase.io/
- https://github.com/react-native-community/react-native-elements
- https://github.com/shoutem/ui
- https://github.com/sonnylazuardi/awponent
- https://wix.github.io/react-native-ui-lib
Learn flexbox
Magazine
Card Modal
Lightbox
Animation
CLI Template
react-native init MyApp --template foo
to create from github project name react-native-template-foo
Navigator
- https://github.com/react-community/react-navigation
- 可以嘗試看看 react-router-native https://github.com/ReactTraining/react-router/tree/master/packages/react-router-native
Toast Alert
- https://github.com/dilipsuthar97/react-native-tasty-toast
- https://github.com/seniv/react-native-notifier
progress bar
- https://github.com/hngocl/progress-react-native
- Image Progress: https://github.com/oblador/react-native-image-progress
Google Font
tools
- Iconic: https://github.com/prscX/react-native-iconic
- Icons: https://github.com/oblador/react-native-vector-icons
- Form: https://github.com/FaridSafi/react-native-gifted-form
- Push: https://github.com/zo0r/react-native-push-notification
- GA: https://github.com/idehub/react-native-google-analytics-bridge
- Fabric: https://github.com/corymsmith/react-native-fabric
- Loading: https://github.com/BilalBudhani/react-native-sleek-loading-indicator
Browser
Audio & Video
- https://github.com/react-native-kit/react-native-track-player
- Background Play Setting: https://developer.apple.com/library/archive/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionBasics/AudioSessionBasics.html#//apple_ref/doc/uid/TP40007875-CH3-SW3
- https://github.com/react-native-community/react-native-video
Intro
Chat
Map
Share
Others:
- Router: https://github.com/jmurzy/react-router-native
- Debugger https://github.com/jhen0409/react-native-debugger
TabView
Offline
Awesome React Native and UI
- https://github.com/jondot/awesome-react-native
- https://github.com/madhavanmalolan/awesome-reactnative-ui
Tips:
- WebView Height: https://facebook.github.io/react-native/docs/dimensions.html set WebView height to Dimensions.get('window').height
- Config, react-native-dotenv, https://github.com/zetachang/react-native-dotenv
中文
- http://reactnative.cn/
- http://manongs.com/a/lmqLEh
- http://ithelp.ithome.com.tw/users/20103341/ironman/1023
TODO
- learn boilerplate https://github.com/jhen0409/react-native-boilerplate
- learn ignite https://github.com/infinitered/ignite
Launch Screen
- http://stackoverflow.com/questions/34027270/ios-launch-screen-in-react-native $ npm install -g yo generator-rn-toolbox $ brew install imagemagick $ yo rn-toolbox:assets --splash YOUR_SQUARE_IMAGE.png --ios :w
TimeLine
FastImage
Input Prompt
i18n
Keychain
react-native-localize
react-native-splash-screen
react-native-hooks
Template
- https://expo.io/
- https://github.com/react-community/create-react-native-app
- https://github.com/infinitered/ignite
- https://nativebase.io/
react-native-git-upgrade tips
- keep current node_modules match old/current react-native version
- update .babelrc for new version sample
- update rn-cli.config.js if it exists
- react-native-git-upgrade
- ncu -ua
render html
html parser use axios + cheerio
-
https://github.com/cheeriojs/cheerio
$ npm i cheerio@0.22.0 $ npm i events stream buffer
裁圖器
圖片編輯
偵測有無螢幕快照
iOS/Android 共用 iOS 類似的選單, selector
- https://github.com/aelesia/react-native-cross-actionsheet
- https://github.com/sosog/react-native-dynamically-selected-picker
DateTime Picker
Event Listener
QR Code
浮動視窗/跨頁面 component
Admob
iOS 背景播放
Use RAM as Xcode build disk
GeoLocation
- 注意,如果沒有處理好,會導致 Android crash
- android need set playServicesVersion
- https://github.com/react-native-community/react-native-geolocation
- https://developers.google.com/android/guides/releases
文章
- FlatList 效能優化:https://codingislove.com/optimize-react-native-flatlist-performance/
- FlatList 範例:https://www.hadev.fr/blog/react-native-flatlist-real-world-use-cases-tutorial-A9KeA_fqr
- 多國語言:https://www.instamobile.io/mobile-development/react-native-localization/
- 使用 hook 提高效能:https://dev.to/ltsharma24/performance-optimisation-react-native-with-hooks-a77