Saltar al contenido

Cree una instancia de Axios tomando token de AsyncStorage

Posterior a buscar en diversos repositorios y páginas al concluir hemos hallado la resolución que te compartimos pronto.

Solución:

A continuación se muestra cómo logré resolver el problema.

Como dijo @Prithwee, decidí usar axios (no react-native-axios) interceptores y configurarlo en Aplicación.js como sigue.

import React, Component from 'react';
import DrawerNavigator from './Utils/DrawerNavigator'
import 
  createAppContainer
 from 'react-navigation';
import axios from 'axios'
import AsyncStorage from "@react-native-community/async-storage"

axios.defaults.baseURL='http://192.168.1.100:8080/api'

axios.interceptors.request.use(
  async config => 
    const token = await AsyncStorage.getItem('token')
    if (token) 
      config.headers.Authorization = "Bearer "+token
    
    return config
  ,
  error => 
    return Promise.reject(error)
  
);

const App = createAppContainer(DrawerNavigator);

export default App;

Una mejor manera probablemente sería usar axios interceptors. de esta manera, puede interceptar la solicitud y enviar sus tokens y también cuando envía tokens actualizados en respuesta, puede obtenerlos y guardarlos en un almacenamiento asíncrono.

Recuerda algo, que tienes la capacidad de comentar tu experiencia si diste con la contestación.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *