¿Cuál es la mejor forma de almacenar datos privados en react-native?

¿Cómo puedo implementar funciones como remember me cuando autentico mediante la aplicación de reacción? Creo que AsyncStorage no encriptado no es la mejor manera de hacerlo, porque los datos están abiertos para los usuarios. Intenté usar el realm , pero me quedé atrapado en un problema que no se puede resolver en Android usando expo para probar la aplicación. Dice que necesito comstackr el código nativo para Android y editarlo (Agregar creación de objetos de dominio en MainApplication.js). No quiero comstackr mi proyecto mientras aún no está disponible. ¿Cómo instagram y las otras aplicaciones RN almacenan datos de autenticación? ¿Cuál es el mejor enfoque?

¿Cuál es la mejor forma de almacenar datos privados en react-native?

Yo recomendaría usar una biblioteca como reactjsr-native-keychain para almacenar datos privados en react-native

Puedes usarlo así:

 // Generic Password, service argument optional Keychain .setGenericPassword(username, password) .then(function() { console.log('Credentials saved successfully!'); }); // service argument optional Keychain .getGenericPassword() .then(function(credentials) { console.log('Credentials successfully loaded for user ' + credentials.username); }).catch(function(error) { console.log('Keychain couldn\'t be accessed! Maybe no value set?', error); }); 

Espero que mi respuesta haya sido útil 😊

Puede usar el almacenamiento simple de react-native para guardar el par clave => valor, la siguiente clase en TypeScript puede ayudarlo a:

 export class MyStorage { handler: Storage; constructor(){ this.handler = require('react-native-local-storage'); } public saveData(key: string, value: string){ this.handler.save(key,value).then(() => { this.handler.get(key).then((data) => {console.log("get: ", data)}); }) } public getData(key: string) : Promise { return this.handler.get(key); } } 
  • El método saveData almacena un “valor” al que se puede acceder mediante una “clave”.
  • getData devuelve la Promesa que envuelve el valor guardado con “clave”.