- Instalação:
npm install react-native-storage --save -
Importação: importar armazenamento de 'react-native-storage';
- inicialização:
import { AsyncStorage } from 'react-native'; var storage = new Storage({ // capacidade máxima, valor padrão 1000 peças de tamanho de armazenamento de loop de dados : 1000, // mecanismo de armazenamento: use AsyncStorage para RN, use window.localStorage para web // Se não for especificado, os dados serão salvos apenas na memória e serão perdidos após a reinicialização storageBackend: AsyncStorage, // Tempo de expiração dos dados, o padrão é um dia inteiro (1000 * 3600 * 24 milissegundos), se definido como null, nunca expirará defaultExpires: 1000 * 3600 * 24, // Armazena dados em cache na memória ao ler e gravar. Habilitado por padrão. enableCache: true, // Se não houver dados correspondentes no armazenamento ou se os dados expirarem, // o método de sincronização correspondente será chamado, sem costura Retorna os dados mais recentes. // A descrição específica do método de sincronização será mencionada mais tarde // Você pode escrever o método de sincronização aqui no construtor // ou gravá-lo em outro arquivo, onde require imports // ou em A qualquer momento, atribua e modifique diretamente a sincronização para storage.sync: require('./sync') // Este arquivo de sincronização precisa ser escrito por você mesmo })
global.storage = storage; // Desta forma, você pode chamar armazenamento diretamente em qualquer lugar depois de ** aqui ** // Nota: Variáveis globais devem ser declaradas primeiro e depois usadas // Se você chamar storage em algum lugar, um erro será relatado como indefinido // Verifique se a instrução global.storage = storage foi realmente executada
4. Salve e leia://Use a tecla para salvar os dados. Esses dados são geralmente únicos globalmente e muitas vezes precisam ser chamados.
manter:
storage.save({ key: 'loginState', // Nota: Por favor, não use o símbolo _ sublinhado na chave! data: { from: 'some other site', userid: 'some userid', token: 'some token ' } ,
ler:
//load lê storage.load({ key: 'user', id: '1001' }).then(ret => { // Se os dados forem encontrados, retorne console.log(ret.userid) no método then ; }).catch(err => { // Se nenhum dado for encontrado e não houver método de sincronização, // ou houver outras exceções, return console.warn(err.message); switch (err.name) { case 'NotFoundError': // TODO; break; case 'ExpiredError': // TODO break; } })
Leia dados em lotes:
storage.getBatchData ([ { chave: 'loginState' }, { chave: 'checkPoint', syncInBackground: false }, { chave: 'balance' }, { chave: 'usuário', id: '1009' } ]) .então (resultados => { resultados.forEach( resultado => { console.log(resultado); }) })