Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 当您的API未准备好时-React+;Redux+;Axios_Reactjs_Api_Redux_Axios - Fatal编程技术网

Reactjs 当您的API未准备好时-React+;Redux+;Axios

Reactjs 当您的API未准备好时-React+;Redux+;Axios,reactjs,api,redux,axios,Reactjs,Api,Redux,Axios,这个问题可能很模糊,但我认为这有助于整理我的想法: 我正在为一个项目建立Redux商店。随着商店的设置,我正在设置一个端点,我有一个招摇过市的文件。然而,API还不是实时的。我想知道在此期间如何使用测试数据进行设置,以便在API准备就绪时能够快速更新。我将定义一个与您的API交互的客户机类或对象。可能它有一些特定的函数,比如.getUser(id),或者它们的移动模糊,比如.getEntity('user',id)。这提供了一个抽象层,以便在thunk操作中不调用axios.get('my-ap

这个问题可能很模糊,但我认为这有助于整理我的想法:


我正在为一个项目建立Redux商店。随着商店的设置,我正在设置一个端点,我有一个招摇过市的文件。然而,API还不是实时的。我想知道在此期间如何使用测试数据进行设置,以便在API准备就绪时能够快速更新。

我将定义一个与您的API交互的
客户机
类或对象。可能它有一些特定的函数,比如
.getUser(id)
,或者它们的移动模糊,比如
.getEntity('user',id)
。这提供了一个抽象层,以便在thunk操作中不调用
axios.get('my-api/users/${id}')
,而可以调用
client.getUser(id)

您将有两个不同版本的
客户端
,它们适合同一个界面(如果使用typescript,这将更容易实施)。一个将查询您的实际API,而另一个只返回模拟数据。因为它们的行为相同,所以当你准备好的时候,应该很容易从一个切换到另一个。您将拥有一些文件,在其中创建并导出
客户机
变量

export const client = new APIClient();

当您导入此
客户端
以在其他文件中使用时,它是哪一个并不重要,因为它们共享相同的
客户端
界面

export const client = new MockClient();