javascript - React Native - 显示来自 API 的数据
问题描述
我正在使用fetch()
从外部数据中获取数据并希望将其显示在我的View
.
console.log(responseJson)
正在显示来自 API 的数据,但this.state.data
在我<Text>
没有显示它。
我的应用程序中显示的所有内容都是“温度:C”。
我运行它时没有收到任何错误。
我this.state.data
的展示方式不正确吗?
import React, { Component } from 'react'
import { StyleSheet, Text, View, Image, Button, Alert } from 'react-native';
class Wether extends Component {
state = {
data: ''
}
componentDidMount = () => {
fetch('https://opendata-download-metfcst.smhi.se/api/category/pmp2g/version/2/geotype/point/lon/16/lat/58/data.json',{
method: 'GET'
})
.then((response) => response.json())
.then((responseJson) => {
console.log(responseJson);
this.setState({
data: responseJson
})
})
.catch((error) => {
console.error(error);
});
}
render() {
return (
<View>
<Text>
Temperatur: {this.state.data} C
</Text>
</View>
)
}
}
export default Wether
我的 console.log(responseJson) 显示:
Object {
"parameters": Array [
Object {
"level": 0,
"levelType": "hmsl",
"name": "msl",
"unit": "hPa",
"values": Array [
1005,
],
},
解决方案
正如我检查了您的代码,似乎一切都很好。您应该考虑的一件事是您的响应 JSON 数据对象。
您不应该在文本组件中显示您的响应 JSON 数据
<View style={{flex:1, alignItems:'center', justifyContent:'center'}}>
<Text>
Temperatur: { this.state.data.approvedTime } C
</Text>
</View>
请再次检查您的代码,希望对您有所帮助。
推荐阅读
- c++ - 如果我的容器介于两个现有值之间,那么捏造迭代器类别是否合理?
- javascript - 使用 JavaScript 确定 div 中的中间 div
- flask-sqlalchemy - 为什么此 Flask 页面不会呈现并显示 500 错误?
- java - 在 Java Spring MVC 中使用 hashmap 作为数据库
- java - @Autowired 字段在测试中始终为空,我错过了什么?
- angular - 获取“调用者”、“被调用者”和“参数”属性可能无法在严格模式函数上访问,以便在 Function.invokeGetter 调用它们
- list - 将列表转换为嵌套元组 Haskell
- android - 从协程调用 ion 客户端时出现“无接口方法 setCallback”错误
- c - 从虚拟地址中查找交换设备位置
- amazon-web-services - aws appsync graphql “'$[filter]' 的预期 JSON 对象,但得到了 'STRING'。”