Мой сетевой ответ отображается в консоли, но не сохраняется в моей переменной - PullRequest
0 голосов
/ 07 апреля 2020

Я использую React. js и Ax ios для вызова API django на моей локальной машине. Когда я делаю запрос и проверяю сетевую консоль, данные там есть. Но когда я пытаюсь сохранить данные ответа в переменную и записать результаты, ничего не отображается. Я попытался использовать jquery и получил те же результаты. Кажется, я могу также получить данные ответа в консоли только при использовании 'await'.

Часть моего Context-Provider. js код:

async componentDidMount() {
        var resp = await axios.get('http://localhost:8000/campaign/')
        .then((res) => {
        resp = res.data
        })
        console.log(resp)

        this.setState({
            campaigns: resp.data,

        })
    }

Вот вывод моих консолей для сети Ответ

1 Ответ

2 голосов
/ 07 апреля 2020

Думая об этом больше, вероятно, плохая идея объединять async/await и then. Я бы предложил вам go с одним или другим

axios.get('http://localhost:8000/campaign/')
.then((res) => {
  this.setState({ campaigns: res.data })
})

ИЛИ

const resp = await axios.get('http://localhost:8000/campaign/')
this.setState({ campaigns: resp.data })
...