gpt4 book ai didi

reactjs - React - 状态钩图不是函数

转载 作者:行者123 更新时间:2023-12-04 12:10:59 29 4
gpt4 key购买 nike

我知道有类似的问题,但我无法找出错误发生的原因。 Div 显示,但随后应用程序崩溃(好像是长度问题)

代码类似于我找到的示例,例如 sandbox

我究竟做错了什么?

这是组件:

import React, { useState, useEffect } from 'react'
/* import Button from '../Button' */
import { getPlanets } from '../../services/index'
import './Planetas.css'


const Planetas = () => {

const [planetas, setPlanetas] = useState([]);

useEffect(() => {
const fetchPlanetas = async () => {
const planetas = await getPlanets()
setPlanetas({ planetas })
};
fetchPlanetas()
}, []);


return (
<div className="planetas">
{
planetas.map((planeta, key) => {
return <div key={key}>{planeta.name}</div>
})
}
</div>
)
}

export default Planetas

这是 api 服务:
import axios from 'axios'

const BASE_URL = 'https://swapi.co/api/planets'

export const getPlanets = async() => {
const planets = await axios.get(`${BASE_URL}`).catch((e) => {
console.error(e);
})
console.log('resp\n')
console.log(planets.data.results)

return planets.data.results
}

错误:

enter image description here

最佳答案

setPlanetas({ Planetas }) 在这一行中,您将状态设置为具有 planetas 的对象属性(property),而不是你需要做 setPlanetas(planetas)

关于reactjs - React - 状态钩图不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57000643/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com