Nuestros mejores investigadores agotaron sus provisiones de café, buscando noche y día por la respuesta, hasta que Abel encontró el resultado en Gogs así que ahora la comparte aquí.
Solución:
Bien, entonces encontré una solución. Tuve que establecer una marca de tiempo en la URL de la API para que hiciera una nueva llamada. No parece haber una manera de forzar axios
o fetch
para deshabilitar el caché.
Así es como se ve mi código ahora
axios.get(`https://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1×tamp=$new Date().getTime()`)
.then(response =>
const title, content, link = response.data[0];
console.log(title, content, link)
this.setState(() => ( title, content, link ));
)
.catch(err =>
console.log(`$err whilst contacting the quote API.`)
)
Agregué estos encabezados a todas las solicitudes de axios y funciona bien.
axiosInstance.defaults.headers =
'Cache-Control': 'no-cache',
'Pragma': 'no-cache',
'Expires': '0',
;
Creo que solo necesita hacer que la URL sea diferente cada vez que realiza la llamada axios. La marca de tiempo es solo una forma de hacerlo. También considere deshabilitar o filtrar el método de almacenamiento en caché de los trabajadores del servicio si está desarrollando un PWA.