【发布时间】:2016-12-29 18:45:38
【问题描述】:
我正在调用我的服务器以从第 3 方 API (Yelp) 获取一些 json 数据。我正在使用 axios 和 redux-promise 在 redux 中设置状态,以便我可以在反应中使用它。返回的数据让我很困惑。
我想将状态设置为从 Yelp API 返回的业务数据数组。目前,如果我传入一个基本字符串作为有效负载,则此操作有效。我不确定如何从 api 响应中获取此 JSON 数据,然后在 redux 状态下对其进行操作。
这是数据的样子
这是我的动作 js 文件
import axios from 'axios';
export const ZIP_CODE = 'ZIP_CODE';
const ROOT_URL = 'http://www.localhost:3000/v1/location/1/1/2/4000'
function getBusinesses(json) {
const business_data = json['data']['businesses']
console.log(business_data)
return business_data;
}
/*
* Updates the users location
*/
export function updateZip(zipCode) {
const request = axios.get(ROOT_URL)
.then(getBusinesses)
return {
type: ZIP_CODE,
payload: request
}
}
【问题讨论】:
-
The data that gets returned is confusing me- 以什么方式? -
@JaromandaX 我不确定如何正确地将其传递给有效负载。我将它传递给有效负载,最终结果是一个承诺对象。我构建了函数以仅返回项目数组,但仍然没有
-
是的,但是
updateZip被调用必须能够处理payload是一个承诺的事实 - 恐怕超出我的范围,对redux和reduc知之甚少 -承诺提供帮助。对不起
标签: javascript json reactjs promise redux