React setState не устанавливает состояние во время цикла while

Итак, вот простой проект, в котором я использовал Selenium и добавил, что используя внешний путь

Теперь вам нужно открыть Project Structure и перейдите к SDK Раздел

Теперь Выберите виртуальную среду вашего проекта. На вкладке Classpath добавьте PYTHONPATH, нажав кнопку +

, и теперь будут распознаны модули

5
задан Reka Karolyi 5 March 2019 в 04:29
поделиться

1 ответ

Используйте let вместо var здесь:

Измените

var myId = this.state.siteid[i].id;
var myDaily = this.state.siteid[i].daily;
// ....

на

let myId = this.state.siteid[i].id;
let myDaily = this.state.siteid[i].daily;
// ....

var is ограничен ближайшей функцией, а не блоком while. Он поднимается, и ваш код будет выглядеть примерно так:

var i;
var myId;
var myDaily;

i = 0;

while ( i < 2 ) {
    myId = this.state.siteid[i].id;
    myDaily = this.state.siteid[i].daily;
}

Поскольку вызовы dataProvider являются асинхронными, значение myId будет заменено на значения AK при первом вызове. .

dataProvider(GET_LIST, 'clicks', {
    //
})
 .then(response => this.setState({ [myWeekly]: response.data.count }))
       /* ^^ This callback runs after the while block
           By this time, myDaily === "AKdaily" */
0
ответ дан adiga 5 March 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: