Я столкнулся с проблемой, так или иначе не могу ее решить.Учитывая этот вызов API с параметрами URL.Компонент должен получить новые данные, как только параметр изменился.Таким образом, если дата меняется, редукция должна вызвать эту функцию снова с новой датой и показать новые данные.
Мой код находится в action.js :
export const getSingleDoctorAppointments = (clinicId, doctorId, date,
appointmentTypeId) => dispatch => {
if (date !== null && date !== undefined) {
const url = `${apiAddress}DoctorAppointment?clinicId=${clinicId}&doctorId=${doctorId}&date=${date.getDate() +
'/' +
(date.getMonth() + 1) +
'/' +
date.getFullYear()}&appointmentTypeId=${appointmentTypeId}&insuranceType=&overview=true`;
axios
.get(url)
.then(res =>
dispatch({
type: GET_SINGLE_DOCTOR_APPOINTMENTS,
payload: res.data
})
)
.then(
dispatch({
type: PROFILE_LOADING,
payload: 'Loading Profile'
})
)
.catch(err =>
dispatch({
type: GET_SINGLE_DOCTOR_APPOINTMENTS,
payload: null
})
);
}
};
После вызова этой функции я хотел бы получить новые данные с новыми параметрами:
export const getSelectedDate = date => dispatch => {
dispatch({
type: GET_SELECTED_DATE,
payload: date
});
};
Я пробовал componentWillRecieveProps внутри самого компонента.Не работалНадеюсь это понятно.Я предполагаю, что это из-за асинхронных и синхронных вызовов.