我被聘用为现有应用程序做一些功能和修复。有几行代码使我感到困惑。
在组件中分派的动作:
export function getCategory() {
const request = axios({
method: "get",
url: url,
}).then(response => {
return {
data: response.data.results,
};
})
console.log(1, request)
return {
type: types.GET_CATEGORY,
payload: request,
};
}
和减速器:
export default function(state = initialState, action) {
switch (action.type) {
case GET_CATEGORY:
console.log(2, action.payload)
return {
...state,
category: action.payload.data
};
...
我希望console.log 1和2中都存在未解决的承诺。
实际上,console.log 1打印已解决的承诺,console.log 2打印从服务器接收的数据。
Redux同步工作,并且getCategory函数中没有async / await关键字。为什么reducer获取正确的数据而不是未解决的Promise?
应用程序详细信息:只有原生的中间件,react-native,redux。
(请不要给我有关重磅,萨加斯等的建议。这不是我的代码)
编辑
问题解决了,其他程序员添加了redux-promise中间件,而我没有被添加来审查...