在获得 axios 响应 Redux 后调用多个调度



在得到 axios 的响应后,我需要调用多个调度,我该怎么办,我目前的做法只允许我发送一个调度,当尝试触发第二个调度时,它给出并错误地说找不到 res。

export const getItem = (id) => dispatch =>{
dispatch(setLoading);
axios.get(`http://localhost:8081/getItem?id=${id}`)
.then(
res => dispatch({
type: GET_ITEM,
payload: res.data
})
)
}

我需要在得到响应后触发二次调度,辅助调度的功能,我需要在从 axios 获得返回后这样做是因为响应中存储了唯一的电子邮件和 id,所以我需要获取 id,从响应中触发辅助调用。

export const getUserItem = (payload) => dispatch =>{
dispatch(setItemsLoading);
axios.get(`http://localhost:8081/getUserItems?email=${payload.email}&id=${payload.id}`)
.then(
res => dispatch({
type: GET_USER_ITEM,
payload: res.data
})
)
}

有没有办法在收到来自 axios 的响应后调度 2?

使用箭头语法,如果要执行多个语句,则需要添加括号:

export const getItem = (id) => dispatch =>{
dispatch(setLoading);
axios.get(`http://localhost:8081/getItem?id=${id}`)
.then(
res => {
dispatch({
type: GET_ITEM,
payload: res.data
})
//second dispatch
dispatch({
type: GET_ITEM,
payload: res.data
})
}
)
}

最新更新