Все, что вам нужно, это сохранить необходимые данные с отметкой времени. И проверьте, не истек ли срок.
loadData = () => {
// Check whether data exists in localStorage and has been
// saved less than an hour ago
const data = JSON.parse(localStorage.getItem('brand'));
if (data && (new Date().getTime() - data.created <= 3600)) {
this.setState({
note: data.brand.note,
logo: data.brand.logo,
name: data.brand.name,
});
return;
}
// Otherwise perform request
axios.get('https://myAPI.url').then(res => {
const brand = res.data;
// and save data in local storage with the current timestamp
localStorage.setItem(
'brand',
JSON.stringify({
created: new Date().getTime(),
brand,
}),
);
this.setState({
note: brand.note,
logo: brand.logo,
name: brand.name,
});
});
};