javascript - 在 React 中获取 JSON 数据
问题描述
我正在用 React 做我的第一个项目,所以请温柔一点。
我无法将反应数据放入组件中。
class WeatherInfo extends React.Component {
constructor() {
super();
this.state = {
items: [],
isLoaded: false
}
}
componentDidMount() {
fetch(`https://api.openweathermap.org/data/2.5/forecast?q=Austin,USA&appid=583f803dfc6a7f2f96ff9957c330c2b0&units=imperial`)
.then(results => results.json())
.then(json => {
this.setState({
isLoaded: true,
items: json
})
});
}
render() {
let {
isLoaded,
items
} = this.state;
if (!isLoaded) {
return <div> Loading... </div>
} else {
return ( <div>
<ul>
{items.map(item => (
<li key="{item.list}">
test: {item.list.main}
</li>
))}
</ul>
</div>
);
}
}
}
将 JSON 连接到 ul... 或任何我想要的东西时感觉迷失了。我最近的错误是 items.map 不是函数。但我有一种强烈的感觉,即使修复该错误也不会从我想要的 api 中获取数据。
这是我想要使用数据的 JSON 链接的链接。最终项目将只选择一些数据,但我相信我知道如何正确访问数据我可以自己做到这一点。
谢谢你。
解决方案
教程中使用的 URL 正在返回记录数组
https://jsonplaceholder.typicode.com/users
[
{
"id": 1, .....
}
]
虽然您的 api 端点不返回记录数组,但它正在返回对象,这就是它失败的原因。
试试这个:
{items.list.map(item => (
<li key="{item}">
test: {item.main}
</li>
))}
推荐阅读
- matrix - 有没有办法在 Octave 中成对求和,矢量化(即映射和减少矩阵)?
- javascript - 使用 p5.js 的拼接问题
- javascript - 尝试使用 Pusher 读取交换数据
- sql - 确定表结构
- javascript - 检测是否支持方法最接近()
- pyomo - 带有gurobi求解器最大时间限制终止标准的pyomo不起作用
- php - 使用 ajax jquery 附加后使用 selectpicker 的多个选择框无法正确显示
- r - 托管在 github 上的 R markdown 网页不反映 _site.yml
- android - 在 Fragment 中使用带有单个活动、布局抽屉和工具栏的 Android 导航组件
- javascript - 如何填充多个值
- 标记到输入字段