【发布时间】:2021-02-21 20:20:32
【问题描述】:
尝试使用 useEffect 钩子在前端获取 api 数据,
我可以通过控制台记录数据,但无法以某种方式对其进行映射
新反应
function SlugBook() {
// let {slug} = useParams(),
const [state, setState] = useState([])
useEffect(() => {
fetch("http://127.0.0.1:8000/app/reviews/",{CSRF_TOKEN....}
)
.then(response => response.json())
.then(data => console.log(data)) -->works fine
.then(data => setState(data)); --> not sure
})
return (
<p>
{state.map( d => (<li>{d}</li>))} ---> error code ()
</p>
)
}
export default SlugBook
【问题讨论】:
-
data => console.log(data)是无效返回,因此您将undefined返回到下一个 then-able,即您是setState(undefined)。您的useEffect挂钩缺少依赖项,因此任何状态更新都会触发渲染循环。
标签: reactjs react-hooks frontend fetch