Reactjs 如何使用redux从我自己的api获取数据?
我试图使用redux从我自己的api获取数据,但我得到一个空对象,不知道为什么会发生这种情况。API是使用express.js和MongoDB编写的。当我使用邮递员时,它就起作用了。我也使用redux thunk。谁能给我解释一下,怎么了? 感谢您的帮助 这是我的代码: 以下是我的行动:Reactjs 如何使用redux从我自己的api获取数据?,reactjs,typescript,redux,redux-thunk,Reactjs,Typescript,Redux,Redux Thunk,我试图使用redux从我自己的api获取数据,但我得到一个空对象,不知道为什么会发生这种情况。API是使用express.js和MongoDB编写的。当我使用邮递员时,它就起作用了。我也使用redux thunk。谁能给我解释一下,怎么了? 感谢您的帮助 这是我的代码: 以下是我的行动: export const fetchclientssaccess=(客户端:任意):FetchDataAction=>{ 返回{ 类型:客户端\u获取\u数据\u成功, 有效载荷:客户端 } } 导出常量cl
export const fetchclientssaccess=(客户端:任意):FetchDataAction=>{
返回{
类型:客户端\u获取\u数据\u成功,
有效载荷:客户端
}
}
导出常量clientsFetchData=(url:string)=>{
退货(发货:任何)=>{
获取(url)
。然后(响应=>{
如果(!response.ok){
抛出新错误(response.statusText);
}
返回响应;
})
。然后(响应=>{
json();
})
。然后(客户端=>{
分派(获取客户端成功(客户端))
})
}
};
我觉得您的请求将转到/api/clients
,但没有任何baseURL附加到它
您能否确认fetch
实际上正在调用一个类似-http://localhost:4000/api/clients
而不仅仅是/api/clients
您是否也可以尝试将catch
块添加到fetch
调用中,并将return
关键字添加到respose.json
中,类似这样:
获取(url)
。然后(响应=>{
如果(!response.ok){
抛出新错误(response.statusText);
}
返回响应;
})
。然后(响应=>{
返回response.json();//{
分派(获取客户端成功(客户端))
})
.catch(err=>console.log(“ERROR”,err);//尝试将链接的catch
添加到您的客户端fetchdata
,函数可能会引发错误。有时,如果您没有设置正确的contentType
并尝试将其转换为json,则可能是一个原因,@Anuja I添加了一个catch,但它不会引发任何错误,因为这样的异步请求必须具有async
和等待
否则您将不会收到响应,因为功能不等待。我添加了它,什么也没有changed@arisha我认为您需要一步一步地调试,1.检查api调用是否正在进行并返回数据2.检查是否正在更新redux状态2.检查是否正在将其返回到连接的组件谢谢对于您的回答,我也尝试使用此url,但没有任何更改,可能fetch函数有问题。但是我没有得到任何错误。您的nodejs服务器的url是什么??,我遵循此url,api工作正常,那么前端中的fetch
调用可能应该调用http://localhost:4000/api/clients
是的,我是陈我对它进行了修改,现在它调用了这个url,但我仍然没有得到任何信息(