我有一个应用程序在反应与切片和坦克。我使用@reduxjs/toolkit,并使用"createSlice"使用"createAsyncThunk"。
我铛:
export const loginThunk = createAsyncThunk('login/local', async (loginData: LoginData) => {
const {username, password} = loginData;
const l = await axios.post(`${BASE_URL}_login/local`, {username, password}, {
headers: {'Content-Type': 'application/json'}
})
return l.data;
})
在我的应用程序中运行一个带有模拟api和"passthrough"在我真正的服务器。
当我调度"login "然后,它会运行"loginthunk .pending"我的减速机和停止。
永远不会实现或拒绝。
如果我调度loginThunk"在没有幻影服务器运行的情况下,它可以工作。
如果我调度loginThunk"认为,没有海市蜃楼服务器运行,但我使用"fetch"相反,axios,它工作。
axios和mirageJs的直通似乎有问题。
有什么想法?
Thank you so much
问题源于axios 0.21.2中更改的xhr适配器。处理程序request.onreadystatechange
不再添加到请求中(XMLHttpRequest
似乎在启动mirageJS服务器时被重新定义)。
解决方案是创建自己的适配器-基本上复制lib/adapters/xhr.js并确保if
语句的else
分支通过-并在您的axios配置中使用它。
我修复了将axios降级为0.21.0
并与miragejs一起工作的问题:0.1.41
,0.1.42.0
,0.1.43.0