У меня есть приложение для реагирования, которое динамически заполняет страницу на основе выбранного номера задания и даты (из массива).
Можно ли распечатать текущую страницу для выбранного задания и ВСЕХ его диапазонов дат?
Я думаю, идеальная функция будет выглядеть так:
function printAllDates(){
const index = this.state.datesList.indexOf(this.state.selectedDate)
this.state.datesList.forEach(date => {
window.print();
this.setState({ selectedDate: this.state.datesList[(index + 1)]})
})
}
Эта вышеприведенная функция работает в том смысле, что она добавляет предварительный просмотр в очередь, но данные в предварительном просмотре не изменяются.
@MarkSkayff Изменение this.state.selectedDate обновляет данные страницы с помощью componentDidUpdate. Таким образом, предоставленная функция работает, но window.print() не ждет завершения setState.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Все, что вы хотите изменить в React, должно быть связано с каким-то «состоянием». Таким образом, всякий раз, когда вы меняете это состояние, пользовательский интерфейс будет реагировать соответствующим образом. Но вы должны иметь эту информацию, прикрепленную к компоненту, который должен реагировать.