我想使用钩子(Hook)将状态设置为 react 中的 Prop ,但出现错误:
重新渲染次数过多。 React 限制渲染数量以防止无限循环。
▶ 34 个堆栈帧被折叠。
我的代码: 第一个组件:
const List = () => {
const [items, setItems] = useState([{}])
useEffect(() => {
const fetchData = async () => {
const data = await fetch(
'http://localhost:5000/api',
);
const result = await data.json();
setItems(result);
};
fetchData();
}, []);
return (
<ActualList items={items}/>
)
}
第二个组件:
const ActualList = props => {
const [items, setItems] = useState([{}])
setItems(props.items)
}
...
最佳答案
您在每次渲染中调用 setItem。每次更改状态值时,您的组件都会重新渲染,这将导致另一次状态更改、另一次重新渲染......
您应该有条件地调用 setItems
关于javascript - 如何将初始状态设置为与钩子(Hook) react 的 Prop ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56224404/