我有一个JSON,它是:
{
"cod":"200",
"message":0,
"cnt":40,
"list":[
{
"dt":1601024400,
"main":{
"temp":301.11,
"feels_like":301.34,
"temp_min":301.11,
"temp_max":301.2,
"pressure":1010,
"sea_level":1010,
"grnd_level":907,
"humidity":58,
"temp_kf":-0.09
},
"weather":[
{
"id":803,
"main":"Clouds",
"description":"broken clouds",
"icon":"04d"
}
],
"clouds":{
"all":68
},
"wind":{
"speed":4.24,
"deg":238
},
"visibility":10000,
"pop":0.25,
"sys":{
"pod":"d"
},
"dt_txt":"2020-09-25 09:00:00"
}
]
}
我正在使用useasync
钩子来提取数据。
import React from 'react';
import { makeStyles } from '@material-ui/core/styles';
import Grid from '@material-ui/core/Grid';
import Card from '@material-ui/core/Card';
import CardContent from '@material-ui/core/CardContent';
import Typography from '@material-ui/core/Typography'
// Chart
import Chart from "react-google-charts";
// async
import { useAsync } from 'react-async';
const loadUsers = async () =>
await fetch("http://api.openweathermap.org/data/2.5/forecast?q=bengaluru&appid={API_KEY}")
.then(res => (res.ok ? res : Promise.reject(res)))
.then(res => res.json())
const useStyles = makeStyles((theme) => ({
root: {
flexGrow: 1,
padding: theme.spacing(5)
},
paper: {
padding: theme.spacing(2),
textAlign: 'left',
color: theme.palette.text.secondary,
},
}));
export default function Dashboard() {
const { data, error, isLoading } = useAsync(
{
promiseFn: loadUsers
}
)
const classes = useStyles();
if (isLoading) return "Loading..."
if (error) return `Something went wrong: ${error.message}`
console.log("Data is", data)
if (data)
return (
<div className="container">
<div className="App">
<h2>Weather Details</h2>
</div>
<div className={classes.root}>
<Grid container spacing={3}>
<Grid item xs={4}>
<Card className={classes.root} variant="outlined">
<CardContent>
<Typography className={classes.title} color="textFirst" gutterBottom>
Temparature Data:
</Typography>
<Typography variant="body2" component="p">
</Typography>
</CardContent>
</Card>
</Grid>
<Grid item xs={4}>
<Card className={classes.root} variant="outlined">
<CardContent>
<Typography className={classes.title} color="textFirst" gutterBottom>
Pressure Data:
</Typography>
<Typography variant="body2" component="p">
</Typography>
</CardContent>
</Card>
</Grid>
<Grid item xs={4}>
<Card className={classes.root} variant="outlined">
<CardContent>
<Typography className={classes.title} color="textFirst" gutterBottom>
Wind Data:
</Typography>
<Typography variant="body2" component="p">
</Typography>
</CardContent>
</Card>
</Grid>
</Grid>
</div>
{data.list.map((weather, index) => (
<div key={index} className="row">
<div className="col-md-12">
<p>{weather.main.temp_min}</p>
<p>{weather.main.temp_max}</p>
</div>
</div>
))}
</div>
)
}
temp_min
和temp_max
已成功提取。
但当我修改卡
时,将其代码为
<Card className={classes.root} variant="outlined">
<CardContent>
<Typography className={classes.title} color="textFirst" gutterBottom>
Temparature Data:
</Typography>
<Typography variant="body2" component="p">
<Chart
chartType="BarChart"
data = {
weather.main.temp_min
}
/>
</Typography>
</CardContent>
</Card>
我得到这个错误:
“weather”未定义为no-undef
如何绘制temp_min
?
您尝试访问一个不存在的变量(weather
未在此作用域中声明)。如果我正确理解您的意图,您可以尝试将所有temp_min
绘制在图表中,也可以在数组上进行投影。
更新:
根据文档,您需要提供代表一个数据点的x和y值对。数据数组的第一个值对必须是图形的标头。
const mapped = data.list.map(d => [new Date(d.dt), d.main.temp_min]);
const chartData = [["Time", "Temperature"], ...mapped];
<Card className={classes.root} variant="outlined">
<CardContent>
<Typography className={classes.title} color="textFirst" gutterBottom>
Temparature Data:
</Typography>
<Typography variant="body2" component="p">
<Chart
chartType="BarChart"
data={chartData}
/>
</Typography>
</CardContent>
</Card>
问题内容: 该问题已经被提出,并且在这里已经接受了答案,但是接受的答案不是我想要的。我想使用一个customview,其中的槽口采用宽度+所经过的视图的一定边距,例如上图中的付款图标。虽然寻找到它拥有一个晶圆厂像bottomappbar 这个我看到了一个叫做类边缘治疗类我想这可以作为很好。我现在不会发布我的customview代码,因为我只能绘制一个矩形。 问题答案: 您需要使用绘制曲线Cubic
在地图上绘制标记时遇到麻烦,我能够从Firebase获取我的用户的纬度和经度并将其存储到我的数组列表中,我的问题是我如何能够全局设置我的数组列表?这是我的代码。 我不知道这东西有什么问题,不知何故,我的地图没有显示标记,我的列表“latlngs”显示“0.0,0.0”我不知道如何全局设置我的latlngs,因为它在从Firebase获取数据的代码中。
试图复制整个电子表格,但我想没有api可以这样做。 基本上,我正在尝试做以下工作: 有一个电子表格,我想对其进行小的更改。 创建一个新的电子表格,将模板中的所有表格逐个复制到新的电子表格中(电子表格复制会更有效率) 创建新的电子表格工作正常,但从电子表格复制表格不起作用。 尝试了两种方法: 角: 给出以下错误: 对飞行前请求的响应未通过访问控制检查:无“访问控制允许原点” Google Sheet
当在谷歌地图数据层上绘制多边形时,我想处理用户绘制第一个点、第二个点和随后的点时发生的事件,以便用户界面可以给出不同的用户指导,例如: 没有画点:点击画第一个点 绘制第一个点:点击绘制下一个点 画第二个点:点击添加另一个点或点击第一个点结束 使用数据库在数据层上绘制闭合点时,会发生“addfeature”事件。使用图形库绘制终点时,会出现不同的事件,例如polygoncomplete。 为了查看第
问题内容: 在这里反应新手,请忍受我:)希望这将很容易解决 目前,我只是想让地图显示在屏幕上,但是当我运行代码时,页面完全空白,甚至其他div也没有出现。这是我的代码,摘录如下:https : //gist.github.com/JoeyBodnar/f76c5d434d57c6cc6108513ad79d4cb7 需要注意的几件事:1)从项目目录中,我已经运行了npm install –save
我正在寻找一个javascript库,支持通过邮政编码或城市作为参数的能力,并获得一个列表的x, y坐标绘制一个多边形使用谷歌地图? 这是否存在?谷歌地图API支持这样的查询吗?我正在寻找一个类似于谷歌用来在谷歌查询中绘制地图的坐标数组: