使用 React Hook 设置时的无限循环



在React 中有这样的生产。我希望用户删除他们分享的帖子。我这样做:

  • 当用户登录时,我将用户 ID 保留为 cookie。
  • 我得到的用户的用户名相当于数据库中捕获的id的id-HaoAsk
  • 用我收到的用户名检查分享帖子的用户的用户名
  • 如果相等,我允许用户使用 setOwner。

但它进入了一个无休止的循环。

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)

当我使用以下代码时,我使用 console.log 编写的所有内容都进入无限循环。我想不通。

deneme1 ? setOwner ([{who: nickName, status: true}]): setOwner ([{status: false}])

提前感谢,你的!

对于任何功能组件,您通常希望确保不要在事件函数之外使用set

在您的情况下,

const onClick = e => { 
// safe to use set method
setOwner()
}
return (
<Component onClick={onClick} user={user} />
)

因为功能组件内的所有内容都在渲染周期内。它将在react尝试刷新显示时运行。在您的情况下,您可以设置一个触发渲染的状态变量,然后设置变量,然后设置无限圆:)

这意味着您必须在初始化组件后找出一个事件。在您的情况下,这有点棘手,因为您希望立即自动为您调用此事件。

请参考这样的东西,如何使用 React useEffect 调用加载函数一次

相关内容

  • 没有找到相关文章

最新更新