如何解决data.slice 不是一个函数 React
我正在尝试将 api 数据放入 react js 中的图表中,我正在使用本地数组来使用类似的示例值
现在我试图将 api 数据传递到图表内部,但我得到数据。切片不是函数错误,我不知道为什么,这里有人可以帮助我吗?
const getPeso = async () => {
const jwt = sessionStorage.getItem('Token')
const user = jwtDecode(jwt)
const token = sessionStorage.getItem('Token')
console.log(token)
const response = await fetch("http://localhost:8080/animals/animal/client?clientId=" + user.id,{
method: "get",headers: {
"Authorization": `${token}`,},})
const data = await response.json();
setPeso(data)
};
图表
<div className='pesoGraph'>
<h1>Pesagem</h1>
<a>Mês</a>
<a style={Styles}>Ano</a>
<LineChart
width={650}
height={300}
data={setPeso}
margin={{
top: 20,right: 50,left: 50,bottom: 70
}}
>
<Cartesiangrid vertical={false} />
<XAxis dataKey="data" axisLine={false} tickLine={false} tickMargin={10} color={'#494949'} fontWeight={'500'} />
<YAxis dataKey='peso' domain={['dataMin','dataMax']} tickCount={4} axisLine={false} tickLine={false} tickMargin={10} color={'#494949'} fontWeight={'500'} />
<Tooltip />
<Line
type="monotone"
dataKey="peso"
stroke="#000000"
activeDot={{ r: 8 }}
/>
</LineChart>
</div>
解决方法
从这行 setPeso(data)
很明显 setPeso(data)
是一个函数。
然后您将其传递给图表组件:
<LineChart
width={650}
height={300}
data={setPeso} // <-- here
根据错误消息,图表组件需要一个数组作为数据。
您的代码应该类似于
const [peso,setPeso] = useState([]);
// ... other code
<LineChart
width={650}
height={300}
data={peso}
其中 peso
是处于状态的数组。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。