有这样的反应产生。我希望用户删除他们分享的帖子。我这样做:
但是它陷入了一个无限循环。
postgresql.conf
当我使用以下代码时,我用console.log编写的所有内容都会进入无限循环。我不知道。
const user = response.data.filter((dataItem) => (dataItem._id === userid));
const userNickname = JSON.stringify(user.map((value) => { return value.nickName }))
const nickName = userNickname.slice(2, -2)
const deneme1 = posts.filter( (data) => (data.who === nickName))
deneme1 ? setOwner([{ who: nickName, status: true}]) : setOwner([{ status: false }])
console.log(owner)
先谢谢您!
答案 0 :(得分:1)
对于任何功能组件,通常都希望确保不要在事件函数之外使用set
。
就您而言,
const onClick = e => {
// safe to use set method
setOwner()
}
return (
<Component onClick={onClick} user={user} />
)
因为功能组件内部的所有内容都在渲染周期内。当react
尝试刷新显示时,它将运行。在您的情况下,您将设置一个状态变量,该状态变量将触发渲染,然后设置该变量,然后设置无限圆:)
这意味着在初始化组件后必须找出一个事件。就您而言,这有点棘手,因为您想立即自动为您调用此事件。
请参考类似How to call loading function with React useEffect only once