Je travaille sur un React projet natif créé avec Expo. J'utilise régulièrement l'ancien AsyncStorage
, en important depuis react-native
, et tout s'est bien passé.
En recherchant comment se moquer de AsyncStorage
pour les tests, j'ai vu que react-native-community/react-native-async-storage
a sa propre maquette intégrée.
J'ai donc installé le plugin de communauté avec yarn add
et désactivé toutes mes instructions d'importation.
Lorsque j'exécute mon application, j'obtiens une erreur (que je retape moi-même, excusez quelques ellipses):
[@RNC/AsyncStorage]: NativeModule: AsyncStorage is null.
To fix this issue try these steps:
-Run `react-native link @react-native-community/async-storage` in the project root.
-Rebuild and restart the app
-Run the packager with `--clearCache` flag.
-If you are using CocoaPods on iOS...
-If this happens while testing with Jest...
J'ai donc essayé d'exécuter react-native link @react-native-community/async-storage
mais je reçois toujours cette erreur:
Something went wrong while linking. Error: Cannot read property 'pbxprojPath' of null
Certaines recherches m'ont montré que les applications Expo ne peuvent pas (et n'ont pas besoin) de se lier.
J'ai essayé npm start --clearCache
en vain.
De plus, je n'ai pas de dossier ios
(ou Android
) dans mon projet. Cela a toujours été un peu déroutant pour moi car je le vois référencé partout. Je lance mon application dans le simulateur/émulateur (et l'appareil) via l'application Expo. Une fois, j'ai essayé de m'éjecter et il y a eu des problèmes. Donc, je n'ai pas de dossier ios
.
(Je vais recommencer à utiliser l'ancien AsyncStorage
natif de react-native
et créer moi-même une maquette, mais j'aimerais savoir comment résoudre ce problème et les problèmes similaires qui pourraient survenir à l'avenir.)
Fermez simplement le bundle Metro et exécutez react-native run-Android or run-ios
et il sera corrigé.