React - событие onChange таблицы Antd дает предыдущее значение
Я делаю парсинг из таблицы Antd в React. И моя проблема в том, что эти данные я получаю с предыдущими значениями таблицы (т.е. на событии таблицы onChange. Мне нужен совет, как получить фактические(текущие) данные из таблицы.
OnChange:
let onChange = (pagination, filters, sorter, extra) => {
set_filters(filters);xlsxFileHandler();
}
Обработчик:
let xlsxFileHandler =() => {
if (dataSource) {
table = document.querySelectorAll("table");
table1=table[0];
table2=table[1];
output = document.querySelector("pre");
setMyData( parseTable(table1,table2));
}
}
Я думаю, одна из идей - использовать стрелочную функцию, но как это сделать? Другая идея - найти другое событие таблицы, которое я могу использовать. Есть идеи?
Upd. То же самое, например, происходит в React, когда у меня есть, скажем, обработчик Button с несколькими инструкциями внутри - кнопку нужно нажать дважды, чтобы получить ожидаемые результаты. Или datepicker - он дает мне предыдущее значение даты при использовании его события onChange.
Upd1. Уже потерялся код кнопки, до этого было. Но есть от календаря:
let f1GetStartDate =(date) => {
date1=date.toISOString().slice(0,10);
console.log("Start "+date1);
if (date2) {
interval=`<= date'${date2.toString()}' + interval '1 day' and timestamp>=date'${date1.toString()}'`;
}
}
let f1GetEndDate =(date) => {
date2=date.toISOString().slice(0,10);
console.log("End "+date2);
if (date1) {
interval=`<= date'${date2.toString()}' + interval '1 day' and timestamp>=date'${date1.toString()}'`;
}
}
<p><DatePicker
selected={startDate}
selectsStart
startDate={startDate}
onChange={date => setStartDate(date)}
onSelect={f1GetStartDate}
locale={ru}
dateFormat="dd-MM-yyyy"
shouldCloseOnSelect={true}
/></p>
<p><DatePicker
selected={endDate}
selectsEnd
endDate={endDate}
minDate={startDate}
onChange={date => setEndDate(date)}
onSelect={f1GetEndDate}
locale={ru}
dateFormat="dd-MM-yyyy"
shouldCloseOnSelect={true}
Из-за того что я не мог получить текущую(выбранную мышкой) дату с onChange, то придумал использовать onSelect. А в таблице похожой уловки нет. Тогда как раз была эта кнопка, она обрабатывала запрос с бд с интервалом. И туда уходило предыдущее значение даты. А текущий обработчик кнопки:
let btnHandler = () => {
if (date1 && date2) {
refetchAll(events.options.all.variables);console.log("win-win");
console.log(date1,date2);
}}
<p><Button onClick={btnHandler}>Поиск</Button></p>