【发布时间】:2019-11-19 13:12:22
【问题描述】:
我将一个名为 Products 的 JS 对象导出到此文件,只是为了在构建/测试时替换一个真正的 API 调用。我想将函数的状态设置为对象,但已映射。我的组件看起来像这样:
function App() {
const [rooms, setRooms] = useState([]);
const [days, setDays] = useState([]);
const roomsMapped = products.data.map(room => ({
id: room.id,
title: room.title
}))
useEffect(() => {
setRooms(roomsMapped);
})
return ( etc )
这将返回以下错误:Error: Maximum update depth exceeded。
我觉得我在这里遗漏了一些非常明显的东西,但对 React 和 Hooks 来说还是很陌生。如何在组件渲染之前设置这些数据?
【问题讨论】:
标签: javascript reactjs react-hooks