【发布时间】:2020-01-24 15:57:56
【问题描述】:
我正在尝试使用从父组件获取的道具更新组件的状态,但我收到以下错误消息:
重新渲染过多。 React 限制渲染次数以防止无限循环。
如果道具发生变化,我希望更新本地状态。 类似的帖子(Updating component's state using props、Updating state with props on React child component、Updating component's state using props)并没有为我修复它。
import React, {useState} from "react"
const HomeWorld = (props) => {
const [planetData, setPlanetData] = useState([]);
if(props.Selected === true){
setPlanetData(props.Planet)
console.log(planetData)
}
return(
<h1>hi i am your starship, type: {planetData}</h1>
)
}
export default HomeWorld
【问题讨论】:
-
您为什么要尝试使用道具更新状态?为什么不只渲染
props.Planet而不是planetData? -
@Retsam 我会问同样的问题,但正如您在他提到的其他问题中看到的那样,我认为他真的很想拥有该州的道具。
-
我对 Retsam 也有同样的想法。
标签: javascript reactjs react-hooks