Απάντηση Native

Το React Native 0.61 Update φέρνει μια σημαντική νέα δυνατότητα που βελτιώνει την εμπειρία ανάπτυξης.

 

Χαρακτηριστικά του React Native 0.61

Στο React Native 0.61, συνδέουμε τις τρέχουσες επισημάνσεις "ζωντανή επαναφόρτωση" (reload on save) και "hot reloading" σε μια ενιαία νέα δυνατότητα που ονομάζεται "Fast Refresh". Το Fast Refresh αποτελείται από τις ακόλουθες αρχές:

 

  1. Γρήγορη ανανέωση υποστηρίζει πλήρως το τρέχον React, συμπεριλαμβανομένων των στοιχείων λειτουργιών και των Hooks.
  2. Η γρήγορη ανανέωση επανέρχεται μετά από τυπογραφικά λάθη και διαφορετικά λάθη και επανέρχεται σε πλήρη επαναφόρτωση όταν απαιτείται.
  3. Η Γρήγορη ανανέωση δεν εκτελεί επεμβατικές αλλαγές κώδικα, επομένως είναι αρκετά αξιόπιστο ώστε να είναι ενεργοποιημένο από προεπιλογή.

 

Γρήγορη ανανέωση

Απάντηση Native έχει live reloading και hot reloading εδώ και αρκετό καιρό. Η ζωντανή επαναφόρτωση θα φορτώσει ξανά ολόκληρη την εφαρμογή όταν εντόπισε μια αλλαγή κώδικα. Αυτό θα χάσει την τρέχουσα θέση σας μέσα στην εφαρμογή, ωστόσο, θα εγγυηθεί ότι ο κωδικός δεν ήταν σε κατεστραμμένη κατάσταση. Η Hot reloading θα προσπαθήσει να «διορθώσει» απλώς τις προόδους που έχετε κάνει. Αυτό μπορεί να γίνει χωρίς να φορτώσετε ξανά ολόκληρη την εφαρμογή, επιτρέποντάς σας να δείτε τις προόδους σας πολύ πιο γρήγορα.

Το Hot reloading ακουγόταν υπέροχο, ωστόσο, ήταν αρκετά προβληματικό και δεν λειτουργούσε με τις τρέχουσες δυνατότητες του React, όπως λειτουργικά εξαρτήματα με άγκιστρα.

Η ομάδα React Native έχει ξαναφτιάξει και τις δύο αυτές δυνατότητες και τις συνδύασε στη νέα δυνατότητα Γρήγορης Επαναφόρτωσης. Είναι ενεργοποιημένο από προεπιλογή και θα κάνει ό,τι θα μπορούσε να συγκριθεί με μια καυτή επαναφόρτωση όπου είναι δυνατόν, επανέρχεται σε πλήρη επαναφόρτωση εάν σίγουρα δεν είναι.

 

Αναβάθμιση σε React Native 0.61

Ομοίως, με όλες τις αναβαθμίσεις του React Native, προτείνεται να ρίξετε μια ματιά στη διαφορά για τα πρόσφατα έργα και να εφαρμόσετε αυτές τις αλλαγές στο δικό σας έργο.

 

Ενημερώστε τις εκδόσεις εξάρτησης

Το αρχικό βήμα είναι να αναβαθμίσετε τις συνθήκες στο package.json σας και να τις εισαγάγετε. Να θυμάστε ότι κάθε έκδοση React Native είναι συνδεδεμένη με μια συγκεκριμένη έκδοση του React, οπότε φροντίστε να την ενημερώσετε και αυτή. Θα πρέπει επίσης να βεβαιωθείτε ότι το react-test-renderer ταιριάζει με την έκδοση React. Εάν το χρησιμοποιείτε και αυτό, αναβαθμίστε τις εκδόσεις metro-react-native-babel-preset και Babel.

 

Αναβάθμιση ροής

Αρχικό ένα απλό. Η έκδοση του Flow που χρησιμοποιεί το React Native έχει ανανεωθεί σε 0.61. Αυτό σημαίνει ότι πρέπει να διασφαλίσετε ότι η εξάρτηση κοντέινερ ροής που έχετε έχει οριστεί σε ^0.105.0 και ότι έχετε παρόμοια αξία στην [έκδοση] του αρχείου .flowconfig.

Εάν χρησιμοποιείτε το Flow για έλεγχο τύπου στο έργο σας, αυτό μπορεί να προκαλέσει επιπλέον λάθη στον δικό σας κώδικα. Η καλύτερη πρόταση είναι να διερευνήσετε το αρχείο καταγραφής αλλαγών για τις εκδόσεις στην περιοχή 0.98 και 0.105 για να αντιληφθείτε τι μπορεί να τις προκαλεί.

Εάν χρησιμοποιείτε το Typescript για τον έλεγχο τύπου του κώδικά σας, μπορείτε πραγματικά να εξαλείψετε το αρχείο .flowconfig και την εξάρτηση του flow bin και να αγνοήσετε αυτό το κομμάτι της διαφοράς.

Εάν δεν χρησιμοποιείτε ελεγκτή τύπων, προτείνεται να εξετάσετε τη χρήση ενός. Οποιαδήποτε επιλογή θα λειτουργήσει, ωστόσο, συνιστάται η χρήση Typescript.