reactjs - 无休止的渲染 API 循环
问题描述
有朋友的API,这样的代码代码无限循环,我想这是因为我没有停止responce.result的传输,但我不知道如何解决它
函数 FriendsAPI(){
const [items, setItems] = useState([1,2,3,4,5,6])
const [loading, setLoading] = useState(false)
useEffect (() =>{
fetch("https://randomuser.me/api/?results=6&nat=US")
.then((response) => response.json())
.then((response) => {
setItems(response.results)
setLoading(true)
})
})
if(!loading){
return (
<div>Loading ...</div>
)
}
else {
return (
<div className={classes.WrapperImage}>
{console.log('render')}
{ items.map((item, index) => (
<div className={classes.Pictures} key={index}>
<img src={item.picture.medium} alt={item.name.first} className={classes.Img}/>
<p>{item.name.first}</p>
</div>
)) }
</div>
)
}
}
解决方案
在 useEffect 的第二个参数中添加一个空数组
useEffect (() =>{
fetch("https://randomuser.me/api/?results=6&nat=US")
.then((response) => response.json())
.then((response) => {
setItems(response.results)
setLoading(true)
})
}, [])
这使它运行 componentDidMount
推荐阅读
- react-native - 为什么在使用 React Native Navigation Drawer 时出现组件异常
- sql - SQLite 子查询和内连接
- flutter - 在 dart 中设置和访问类变量没有按预期工作
- flutter - 如何使用颤振字体真棒图标?
- azure - 我们如何控制身份验证方案中的“SignUpSignInPolicyId”
- ffmpeg - ffmpeg 创建 mpeg-dash 块文件太慢导致 404 错误
- javascript - 我可以让我的不和谐机器人基于网站发送消息吗?
- reactjs - react redux中的删除操作不起作用
- postgresql - Postgres SERIALIZABLE Snapshot Isolation 出现意外的枢轴错误
- java - 从另一个类调用静态方法而不在 Java 中创建对象