У меня есть приложение React Native, которое подключено к PostgresDB через ExpressJS. У меня есть вызов выборки, который содержит URL с двумя параметрами, один из которых изменяется с помощью setState.
Есть ли способ, которым я могу показать (console.log) текущий URL выборки внутри моего приложения, когда оноработает?
`http://myip/api/hours/daydata/${realDate}/${userid}`
realDate изменяется нажатием кнопки this.setState.
Я хотел бы console.log URL, чтобы я мог видеть новую дату, которая установлена в URL, потому что у меня есть проблема, что мой компонент не перерисовывается при первом нажатии кнопки. Дата изменяется во внешнем интерфейсе, но компонент не отображает данные, которые предоставляет мой fetchcall, они отображаются, когда я нажимаю кнопку дважды, поэтому у меня всегда один выходной.
Например, я вижу данные за 10.10.2019. Когда я нажимаю кнопку «Назад», дата меняется внутри календаря, но данные остаются (данные от 10.10.2019) - когда я нажимаю кнопку еще раз, я должен увидеть данные от 08.10.2019, но я получаю данные от 09.10.2019 (1). выходной).
Одна вещь, которую я заметил, заключается в том, что кнопки не отображаются при первом нажатии, но выбор даты непосредственно в календаре действительно все меняет правильно. Здесь вы можете увидеть 2 разных звонка, может быть, вы видите, что может быть не так.
dateBackHandler = () => {
console.log("Current Date FIRST :", this.state.date); // Here I get the date from today
const newDate = Moment(this.state.date)
.subtract(1, "d")
.format("YYYY-MM-DD");
console.log("NEW DATE BEFORE SETSTATE & FETCHDATA " + newDate);
// newDate gives me yesterdays date which is correct
this.setState({ date: newDate }); // I am setting newDate to be the date
console.log("Current Date SECOND After setState : ", this.state.date);
// this log should now be yesterdays date because I changed it but somehow this date is todaysdate again
this.fetchData(); // in here is the fetchcall that should work with yesterdays date.
};
Внутри моего календаря (datetimepicker) вызов setState работает так:
onDateChange={date => {
this.setState({ date: date });
this.fetchData();
}}
Спасибо.