reactjs - 如何从请求中获取所有数据
问题描述
我从服务器接收数据并尝试从“一个”对象中获取“名称”并得到一个未定义的错误。如果您删除请求中的替换,则“fetchData (response.data)”行与“fetchData (response.data.one)”和选择器中的“return state.one.name;” 到“返回 state.name;” 结果返回数据。是什么导致了这个错误?查询和引用相同的对象。
要求
export function fetchData (data) {
return {
type: "GET_DATA_REQUEST",
payload: data
}
}
export function fetchDataRequest(url) {
return(dispatch)=> {
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error(response.statusText);
}
return response;
}
)
.then(response => response.json())
.then(response => dispatch(fetchData(response.data)))
}
}
选择器
export const getRequestCity = (state) => {
return state.one.name;
}
解决方案
您可以one
在访问对象之前检查对象是否存在,如下所示 -
export const getRequestCity = (state) => {
if (state.one) {
return state.one.name;
}
}
推荐阅读
- jenkins - 如何使用 Jenkins Github Branch Source 插件指定其他受信任的文件?
- c# - 如何找到每个值在通用类列表中重复多少次?
- excel - Range.Style 因语言而异
- r - 从字符串中删除特定标签 - R
- php - Laravel 使文本输出中的 URL 可点击(不转义)
- itext7 - 使用 pdfSweep - 通配符删除文本?
- r - 使用 tidyverse 从一列中选择从另一列过滤的级别
- amazon-web-services - 如何以编程方式获取“分发 ID”以使云端缓存无效?
- python-3.x - 在没有内置排序的情况下按字母顺序对元组进行排序
- java - 选项和映射操作