解决未处理的拒绝(TypeError):回调不是函数
2018-01-09
6552
我正在编写一个函数,该函数进行 API 调用并从 API 调用返回数据。然后它必须转到一个新页面,并为其调用回调函数。当我运行代码时,我确实导航到新页面,但几毫秒后,我收到一个错误,如下面的屏幕截图所示。我使用的代码是:
export function editPost(id, callback) {
const request = axios.get(`${API}/posts/${id}`,{headers});
return dispatch => {
return request.then((data) => {
callback();
console.log(data);
dispatch({
type: EDIT_POST,
payload: data
})
})
}
}
我收到的错误消息如下所示:
有人可以帮我解决这个问题吗?
3个回答
您可以在调用回调之前检查它是否已经传递。
if (typeof callback === 'function') {
callback();
}
Vũ Nhật Anh
2018-01-09
调用
editPost
时,它也需要第二个参数(回调函数)。
很高兴它对您有帮助!
ricky
2018-01-09
在这里你只需要使用
<childComponent {state1}={state1} {setState1}={setState1}/>
将状态作为道具从父级直接传递给子级
就是这样
在你的情况下
callback
将被传递为
{callback}={callback}
champion-runner
2021-03-21