Javascript 解析React操作中的JSON响应数据
我正在调用我的服务器,从第三方API(Yelp)获取一些json数据。我正在使用axios和redux promise在redux中设置状态,以便在react中使用它。返回的数据让我很困惑 我想将状态设置为从yelpapi返回的业务数据数组。目前,如果我传入一个基本字符串作为有效负载,则此操作有效。我不确定如何从api响应中获取JSON数据,然后在react中从redux状态对其进行操作 下面是数据的样子 这是我的动作js文件Javascript 解析React操作中的JSON响应数据,javascript,json,reactjs,promise,redux,Javascript,Json,Reactjs,Promise,Redux,我正在调用我的服务器,从第三方API(Yelp)获取一些json数据。我正在使用axios和redux promise在redux中设置状态,以便在react中使用它。返回的数据让我很困惑 我想将状态设置为从yelpapi返回的业务数据数组。目前,如果我传入一个基本字符串作为有效负载,则此操作有效。我不确定如何从api响应中获取JSON数据,然后在react中从redux状态对其进行操作 下面是数据的样子 这是我的动作js文件 我为我的解决方案找到了一个修复方案,其中包括一些笨拙的修补和修复我
我为我的解决方案找到了一个修复方案,其中包括一些笨拙的修补和修复我端的bug 修复1-更新存储 我添加了thunk,效果很好
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const store = createStore(reducers, composeEnhancers(
applyMiddleware(ReduxThunk)
));
修复2-将thunk集成到行动中
我在一个初始函数中解析了json,然后将其返回给发送给reducer的操作
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(res) {
return {
type: ZIP_CODE,
payload: res['data']['businesses']
}
}
export function updateZip(zipCode) {
return function(dispatch) {
axios.get(ROOT_URL)
.then((response) => {
dispatch(getBusinesses(response))
})
}
}
返回的数据让我感到困惑
-以何种方式?@JaromandaX我不确定如何正确地将其传递给有效负载。我将其传递给有效负载,最终结果是promise对象。。我构建的函数只返回项目数组,但仍然没有返回任何内容是的,但是调用updateZip
必须能够处理payload
是一个承诺这一事实-恐怕除了我之外,我对redux和reduce promise的了解还不够。很抱歉
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(res) {
return {
type: ZIP_CODE,
payload: res['data']['businesses']
}
}
export function updateZip(zipCode) {
return function(dispatch) {
axios.get(ROOT_URL)
.then((response) => {
dispatch(getBusinesses(response))
})
}
}