danielchistyakov
@danielchistyakov
Frontend Engineer

Как вывести переменные из componentDidMount?

Как мне вывести artistname и title во втором componentDidMount? Поскольку сейчас значение не передаётся.
async componentDidMount() {
        const url = "https://api.laut.fm/station/city/current_song";
        const response = await fetch(url);
        const data = await response.json();
        this.setState({ info: data });
        const artistname = this.state.info.artist.name;
        const title = this.state.info.title;
    }
    async componentDidMount() {
        const image = "http://ws.audioscrobbler.com/2.0/?method=album.getInfo&artist=" + artistname + "&album=" + title + "&api_key=SECRET_KEY&format=json";
        const images = await fetch(image);
        const dataimage = await images.json();
        this.setState({ cover: dataimage });
        console.log(dataimage);
    }
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
@dimoff66
Кратко о себе: Я есть
state не меняется моментально после this.setState, если вы хотите получить новые значения, то

const data = await response.json();
this.setState({ info: data });
const artistname = data.artist.name;
const title = data.info.title;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы