tecnologia react que puedo programación para hacer desarrollador con javascript database react-native keychain expo

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



react y react native (3)

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

Recomendaría usar una biblioteca como react-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 😊

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


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

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<any> { 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".

Expo.SecureStore proporciona una forma de cifrar y almacenar de forma segura pares clave-valor localmente en el dispositivo.

Utilice SecureStore.setItemAsync(key, value, options) para almacenar y SecureStore.getItemAsync(key, options) para recuperar datos.

Documentación: https://docs.expo.io/versions/latest/sdk/securestore