Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

378
Views
React Native, al pasar el parámetro de configuración regional de i18 junto al archivo de configuración de Axios da un error de llamada de enlace no válido

Estoy tratando de implementar un parámetro de configuración regional en mi archivo axiosConfig:

 import axios from "axios"; const instance = axios.create({ baseURL: "http://10.0.2.2:8000/api", timeout: 2000, }); instance.defaults.headers.common["locale"] = "en"; export default instance;

En cada pantalla realizo mis llamadas get y post en pantallas como tales:

 axiosConfig .get("/someroute") .then((response) => { //console.log(response.data); }) .catch((error) => { console.log(error.message); });

El código anterior funciona según lo previsto. Ahora quiero pasar un parámetro de "configuración regional" a todas mis llamadas axios. Este parámetro provendrá de la configuración regional de la aplicación (yo uso i18next). Cuando lo implemento como se muestra a continuación, arroja un error de enlace no válido.

 import axios from "axios"; import { useTranslation } from "react-i18next"; const { i18n } = useTranslation(); const instance = axios.create({ baseURL: "http://10.0.2.2:8000/api", timeout: 2000, }); instance.defaults.headers.common["locale"] = i18n.language; export default instance;

¿Cuál sería la forma correcta de establecer el encabezado de configuración regional en mi configuración?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Está recibiendo este error porque se debe llamar a un enlace en un componente React o dentro de otro enlace. Ver Reglas de Hooks . Y esto es lo que podrías hacer, por ejemplo:

  1. Transforme el archivo donde está configurando la instancia de axios en un gancho:
 import axios from "axios"; import { useTranslation } from "react-i18next"; const useAxiosInstance = ()=>{ const { i18n } = useTranslation(); const instance = axios.create({ baseURL: "http://10.0.2.2:8000/api", timeout: 2000, }); instance.defaults.headers.common["locale"] = i18n.language; return instance; } export default useAxiosInstance;
  1. Incluya el gancho en la parte superior del archivo donde está usando la configuración de axios y utilícelo como ejemplo de esta manera:
 import {useEffect} from "react"; import useAxiosConfig from "./path"; const AxiosConsumer = ()=>{ const axiosConfig = useAxiosConfig(); useEffect(()=>{ axiosConfig .get("/someroute") .then((response) => { //console.log(response.data); }) .catch((error) => { console.log(error.message); }); },[axiosConfig]); return <></> }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!