我正在研究@Dan Abramov的通量反应路由器示例,我注意到这里的Fetch API代码: 获取 API 有一个返回承诺,其中包含嵌套的返回:
return fetch(url).then(response =>
response.json().then(json => {
const camelizedJson = camelizeKeys(json);
const nextPageUrl = getNextPageUrl(response) || undefined;
return {
...normalize(camelizedJson, schema),
nextPageUrl
};
})
);
我对这个嵌套返回感到困惑,为什么在这里使用它?为什么不直接返回 response.json()?
似乎如果我做同样的事情,我会得到一个未定义的值
从响应中检索的 json 是
- 使用驼峰转换为骆驼箱
- 使用规范化进行非嵌套,以便与 Redux 存储结合使用时更容易处理
- 使用从
link
标头解析的下一页 URL 进行扩充
关于为什么在存储中存储嵌套响应对象通常是一个坏主意的更多讨论和推理可以在 React JS Google Group 中找到。