reactjs - API url参数更改后React,Redux调用动作
问题描述
我遇到了一个无论如何都无法解决的问题。给定这个带有 url 参数的 API 调用。参数更改后,组件应立即获取新数据。因此,如果日期发生变化,redux 应该使用新日期再次调用此函数并显示新数据。
我的代码在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。没有工作。我希望这是可以理解的。我猜这是因为异步和同步调用。
解决方案
推荐阅读
- google-my-business-api - Google My Business API 的测试/沙盒环境
- azure - 在 Azure 门户应用注册中公开 Azure DevOps API
- javascript - 验证密码强度的 Javascript 函数(带有特殊字符)
- r - R中的条件统计(首选dplyr解决方案)
- amazon-web-services - AWS STS Endpoints 仅适用于一个区域的一个子网。STS 连接在其他区域不起作用
- python - 有没有办法将 url 更改为 python 中的下一个 url
- r - 创建一个以美国州名作为输入并返回文本的函数
- r - 如何在 R 中迭代地过滤列表中的列表,或者如何同时使用两个条件过滤 data.table,在运行时创建对象
- websphere - WebSphere 配置文件存储
- python-3.x - 如何将乘法 asyncio start_server 包含到运行循环中?